2016-07-19 12 views
0

ich die folgende Ausnahme erhalten bei der Verwendung von jacksonErste jackson Serialisierung Problem für Input Objekt

com.fasterxml.jackson.databind.JsonMappingException serialisiert werden versuchen: für Klasse java.io.ByteArrayInputStream No Serializer gefunden und keine Immobilien entdeckt zu erstellen BeanSerializer (Ausnahme zu vermeiden, deaktivieren Sie SerializationFeature.FAIL_ON_EMPTY_BEANS)) (durch Referenzkette: com.olacabs.deviceplatform.common.entities.WrappedInputStream [ "wb"] -> org.apache.poi.xssf .usermodel.XSSFWorkbook ["packagePart"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["zipArchive"] -> org.apache.poi.openxml 4j.util.FakeZipEntry [ „input“])

habe ich versucht, die Lösung, wie in http://www.baeldung.com/jackson-jsonmappingexception erklärt, wo wir das folgende Stück Code verwenden Sichtbarkeit als All mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);

zu machen Danach wird es in Stackoverflow Fehler führt .

com.fasterxml.jackson.databind.JsonMappingException: Unendliche Rekursion (Stackoverflow) (durch Referenzkette: org.apache.poi.openxml4j.opc.ZipPackage [ "Stückliste"] -> org.apache. poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList "] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/_ rels/.rels "] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi. openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartColle ction ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org. apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage [ "partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache. poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container "] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/_ rels/.rels "] -> org.apache.poi. openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.ope nxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j. opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _rels/.rels "] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi. openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels" ] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/_rels/.rels"]->org.apache.poi.openxml4j.opc.ZipPackagePart["_container"]->org.apache.poi.openxml4j.opc.ZipPackage["partList"]->org.apache .poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j. opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _rels/.rels "] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi. openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.re ls "] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi.openxml4j.opc .PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org .apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache .poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/_ rels/.rels "] -> org.apache.poi .openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPac kage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org. apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart [ "_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache. poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels "] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi.openxml4j.opc. PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org. apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi .openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels" ] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/_rels/.rels"]->org.apache.poi.openxml4j.opc.ZipPackagePart["_container"]->org.apache.poi.openxml4j.opc.ZipPackage["partList"]->org.apache .poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/_ rels/.rels "] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi .openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container" ] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> oder g.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc. ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org. apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart [ "_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache. poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels "] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi.openxml4j.opc. PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels"] -> org. apache.poi.openxml4j.opc.ZipPackagePart ["_ container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] -> org.apache.poi.openxml4j.opc.PackagePartCollection ["/ _ rels/.rels "] -> org.apache.poi.openxml4j.opc.ZipPackagePart [" _container "] -> org.apache.poi.openxml4j.opc.ZipPackage [" partList "] -> org.apache.poi.openxml4j. opc.PackagePartCollection ["/ _ rels/.rels"] -> org.apache.poi.openxml4j.opc.ZipPackagePart ["_container"] -> org.apache.poi.openxml4j.opc.ZipPackage ["partList"] .. .. abgeschnitten

-Code Individuelle WrappedInputStreamclass

@Data 
@NoArgsConstructor 
@AllArgsConstructor 
public class WrappedInputStream implements Serializable { 

    private static final long serialVersionUID = 12358903454875L; 

    private String transactionKey; 
    private Workbook wb; 
} 

Workbook hat input auf einer Ebene inputStream .. auch wenn ich inputStream direkt aus MultipartFile-Objekt enthalten, führt dies zum gleichen Problem.

-Code, wo Fehler auftritt()

public boolean uploadData(MultipartFile inventoryData) { 
     ObjectMapper mapper = new ObjectMapper(); 
     try { 
      wb = WorkbookFactory.create(inventoryData.getInputStream()); 
     } catch (InvalidFormatException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     WrappedInputStream wrappedInputStream = new WrappedInputStream(key, wb); 
     mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY); 
     String wrappedInputStreamString = mapper.writeValueAsString(wrappedInputStream); //exception occurs at this place 

//process the string further 
} 

Jeder kennt die Lösung?

Antwort

0

Sie müssen Ihre DTOs bearbeiten und die Anmerkung @JsonIgnore für die untergeordnete Klasse hinzufügen, in der Sie den Verweis auf die übergeordnete Klasse angeben.

@JsonIgnore 
private Member member; 

Dies sollte Ihr Problem lösen.

+0

Diese Klasse ist ein Drittanbieter, in diesem Fall ist der Eingang stream .. kann keine Änderungen daran vornehmen. – stallion

+0

Können Sie bitte Ihren Code mit mir teilen, damit ich weiter inspizieren und helfen kann? Danke. –

+0

Frage aktualisiert mit Code .. – stallion

Verwandte Themen