2017-02-02 4 views
0

Unten ist der Auszug der Feder Integration fließen, wo wir Fehler bekommen, auf einigen Maschinen die Flow-Testfälle passieren, aber auf einigen Systemen ist es gescheitert:Methode toGregorianCalendar() kann nicht gefunden werden auf java.util.Date Typ

Frühling Integration Fluss:

<integration:chain input-channel="X" output-channel="Y"> 
    <integration:transformer expression="'{1:F21XXXX}{4:{1XX:' + new java.text.SimpleDateFormat('yyMMddHHmm').format(payload.arrivalDateTime.toGregorianCalendar().getTime()) + '}{444:' + payload.statusDetail.etc + '}}'"/> 
</integration:chain> 

Fehler:

ERROR 02/Feb/2017 09: 35: 08.608 [org.springframework.jms.listener.DefaultMessageListenerContainer # 48-1] springframework.integration .handler.LoggingHandler - oder g.springframework.expression.spel.SpelEvaluationException: EL1004E: (po 88): Methodenaufruf: Methode toGregorianCalendar() kann nicht auf java.util.Date Typ bei org.springframework.expression.spel.ast.MethodReference.findAccessorForMethod gefunden werden (MethodReference.java:185) bei org.springframework.expression.spel.ast.MethodReference.getValueInternal (MethodReference.java:107)

wir sind nicht sicher sind, was fehlt, wir überprüft Java (1.6.0_35)/Maven (3.0.3) und es ist das gleiche auf allen Maschinen. Jede Hilfe wäre zu erwarten. Vielen Dank.

Antwort

0

Method toGregorianCalendar() ist innerhalb der Klasse XMLGregorianCalendar. Aus der Ausnahme ist klar, dass Spring el versucht, GregorianCalendar() für das Date-Objekt aufzurufen. Ich denke, Ihr Problem ist, dass für einige Testfälle Sie payload.arrivalDateTime als Date-Objekt nicht als XMLGregorianCalendar Objekt bekommen.

https://docs.oracle.com/javase/7/docs/api/javax/xml/datatype/XMLGregorianCalendar.html

+0

aber manchmal der gleiche Testfall mit derselben Eingabedatei übergeben wurde und irgendwann versagt es. Wenn das Paket erstellt und auf Server bereitgestellt wird, tritt dasselbe Problem auf. –

Verwandte Themen