Hinweise zur Migration auf jadice server 5.5
Neue Funktionen und Features
Unterstützung von docker
jadice server 5.5 kann nun innerhalb von docker-Containern betrieben werden. Beispiele, wie solch ein Container aussehen und gebaut werden kann, finden Sie auf github.
Architektonische Trennung zwischen der logischen Kommunikationsschicht und JMS-Implementierung
Zur besseren Modularisierung von jadice server wurde die Kommunikationsschicht zwischen Client und Server in unterschiedliche Module getrennt.
In Ihrer Anwendung müssen Sie das neue Modul jms-transport-shared
in den clientseitigen Klassenpfad der Anwendung bzw. als Maven-Dependency aufnehmen. Außerdem hat sich der Namespace der Klasse JMSJobFactory
geändert (s.u.).
Auswahl des Threading-Modells
Bisher wurde für jeden Worker, der Teil des Workflow eines Jobs ist, ein eigener Thread gestartet. Ab jadice server 5.5 ist es möglich, verschiedene Ausführungsstrategien zu wählen. In speziellen Szenarien kann es sinnvoll sein, dass alle Worker sequenziell in einem Thread abgearbeitet werden. Diese Option kann in der Konfigurationsdatei server-config/application/conversion-base.xml
, Bean execution-strategy-factory
gewählt werden.
Implementieren Sie eigene Worker, die über die Klasse SubPipeline
dynamisch weitere Worker nachstarten, ist es zukünftig notwendig, dass das StreamBundle
bereits alle zu verarbeitenden Datenströme enthält und mit StreamBundle::complete
abgeschlossen wurde, bevor es der Methode SubPipeline::startWith
übergeben wird. Andernfalls wird eine IllegalStateException
geworfen.
Neue Nodes zur Bearbeitung von PDF-Dokumenten
Mit jadice server 5.5 gibt es die neuen Nodes PDFRotationNode
, PDFAnnotationRemoverNode
und EmbedAttachmentsNode
. Folgende neue Funktionen sind dadurch möglich:
PDFRotationNode
: Rotation von bestehenden PDF-DokumentenPDFAnnotationRemoverNode
: PDF-Annotationsobjekte werden aus dem Dokument entferntEmbedAttachmentsNode
: In ein bestehendes PDF-Dokument werden weitere Datenströme als Anhang eingefügt
Weitere Informationen finden Sie in den verlinkten Javadoc-Kommentaren.
Nicht mehr unterstützte Funktionen
LibreOffice 4.4 und älter
LibreOffice 4.4 hat Ende 2015 sein EOL erreicht, siehe https://wiki.documentfoundation.org/ReleasePlan/4.4#End_of_Life. Daher werden diese und ältere Versionen ab jadice server 5.5 nicht mehr unterstützt.
API-Änderungen im Überblick
Änderungen von Klassennamen
Bisheriger Klassenname | Neuer Klassenname |
---|---|
com.levigo.jadice.server.streamtransport.jms.JMSStreamTransportFactory | com.levigo.jadice.server.streamtransport.DefaultStreamTransportFactory |
Änderungen in der Vererbungshierarchie
Klasse | bisher | neu |
---|---|---|
com.levigo.jadice.server.core.ThreadPoolJobScheduler | (extends) java.util.concurrent.ThreadPoolExecutor | — |
com.levigo.jadice.server.jms.logging.JMSAppender |
| (implements) org.springframework.context.Lifecycle |
com.levigo.jadice.server.shared.types.Stream | (implements) java.io.Serializable | (implements) java.io.Closeable |
Namespace-Änderungen
Die folgenden Klassen wurden in andere Namespaces / Module verschoben:
Klasse | Bisheriger Namespace | Bisheriges Modul | Neuer Namespace | Neues Modul |
---|---|---|---|---|
JMSAppender | com.levigo.jadice.server.core.util | server-core | com.levigo.jadice.server.jms.logging | jms-transport-core |
JMSReplayer | ||||
JMSJobFactory | com.levigo.jadice.server.client.jms | server-shared | com.levigo.jadice.server.jms.client | jms-transport-shared |
JNDIConnectionFactory | ||||
MimicryThrowable | ||||
CredentialInjectionConnectionFactoryWrapper | com.levigo.jadice.server.shared.jms | server-shared | com.levigo.jadice.server.jms.shared | jms-transport-shared |
CredentialInjectionQueueConnectionFactoryWrapper | ||||
CredentialInjectionTopicConnectionFactoryWrapper | ||||
JMSTransportSender | ||||
MessageInspector | ||||
JmsMarshaller | com.levigo.jadice.server.shared.marshalling | server-shared | com.levigo.jadice.server.jms.shared.marshalling | jms-transport-shared |
JmsXStreamMarshallerFactory |
Entfernte Klassen, Methoden oder Properties
- Property
com.levigo.jadice.server.ws.Property.targetClass
und deren JAXB-Mapping aufclass
Änderungen in der Spring-Konfiguration
Konfigurations-Datei | Neue Elemente | Elemente, die entfallen |
---|---|---|
conversion-base.xml |
|
|
Änderungen, die sich durch Änderungen von Klassennamen oder Namespaces ergeben haben (s.o.), sind in dieser Tabelle nicht aufgeführt