Hallo zusammen ich will vom Client zum Server eine Object senden. Dazu verwende ich ObjectOutputStream.
Ich möchte gerne eine Object vom Type
Dazu habe ich ein konkreter Object :
Hiermit sende ich das Object an den Server :
Hier ist noch die Definition der TestMatchData :
Wenn ich nun die Daten schicke, bkommen ich die folgende Fehlermeldung :
Ich habe mal versucht anstatt von IMatchData Integer Objekte zu schicken - also eine List mit Integer Objketen. das hat problemlos funktioniert.
Kann mir jemand einen Tipp geben?
Vielen Dank
Ich möchte gerne eine Object vom Type
Java:
public interface ICreateObjectRequest extends IRequest {
/**
* @return a list with model data
*/
List<IMatchData> getModelDataList();
}
Dazu habe ich ein konkreter Object :
Java:
@AllArgsConstructor
@Getter
@EqualsAndHashCode
@Slf4j
public class CreateObjectRequest implements ICreateObjectRequest, Serializable {
@NonNull
private final String requestType = getClass().getSimpleName();
@NonNull
private final List<IMatchData> modelDataList;
}
Hiermit sende ich das Object an den Server :
Java:
// send create crate request
IMatchData testMatchData = TestMatchData.builder().build();
List<IMatchData> dataList = Lists.newArrayList(testMatchData);
response = client.sendAndWait(new CreateObjectRequest(dataList));
Hier ist noch die Definition der TestMatchData :
Java:
@Builder
@Getter
@Slf4j
public class TestMatchData implements IMatchData, Serializable {
@Builder.Default
private Optional<String> seasonSeperator = Optional.ofNullable("/");
@Builder.Default
private Optional<String> season = Optional.empty();
@Builder.Default
private Optional<String> associationName = Optional.empty();
@Builder.Default
private Optional<String> competitionName = Optional.empty();
@Builder.Default
private Optional<String> competitionRoundName = Optional.empty();
@Builder.Default
private Optional<String> matchDayName = Optional.empty();
@Builder.Default
private Optional<String> number = Optional.empty();
@Builder.Default
private Optional<DateTimeFormatter> matchDateTimeFormat = Optional.ofNullable(DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm"));
@Builder.Default
private Optional<String> dateTime = Optional.empty();
@Builder.Default
private Optional<String> team1Name = Optional.empty();
@Builder.Default
private Optional<String> team2Name = Optional.empty();
@Builder.Default
private Optional<String> result = Optional.empty();
}
Wenn ich nun die Daten schicke, bkommen ich die folgende Fehlermeldung :
Code:
java.io.NotSerializableException: java.util.Optional
Ich habe mal versucht anstatt von IMatchData Integer Objekte zu schicken - also eine List mit Integer Objketen. das hat problemlos funktioniert.
Kann mir jemand einen Tipp geben?
Vielen Dank