2016-05-31 14 views
0

Ich verwende Wildfly 9, um zwei Webanwendungen (Wars) gleichzeitig zu implementieren. Ich habe vor kurzem die Version von Quarz durch eine der Anwendungen verwendet, aufgerüstet und jetzt erhalte ich die folgende Fehlermeldung, wenn ich bereit:Wildfly 9 - Probleme ohne Quartzabhängigkeit

Caused by: org.quartz.SchedulerConfigException: Unable to instantiate InstanceIdGenerator class: org.quartz.simpl.SimpleInstanceIdGenerator cannot be cast to org.quartz.spi.InstanceIdGenerator [See nested exception: java.lang.ClassCastException: org.quartz.simpl.SimpleInstanceIdGenerator cannot be cast to org.quartz.spi.InstanceIdGenerator] 
    at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:814) 
    at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1519) 
    at org.springframework.scheduling.quartz.SchedulerFactoryBean.createScheduler(SchedulerFactoryBean.java:597) 
    at org.springframework.scheduling.quartz.SchedulerFactoryBean.afterPropertiesSet(SchedulerFactoryBean.java:480) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1631) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1568) 
    ... 42 more 

Caused by: java.lang.ClassCastException: org.quartz.simpl.SimpleInstanceIdGenerator cannot be cast to org.quartz.spi.InstanceIdGenerator 
    at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:811) 
    ... 47 more 

Soweit ich das beurteilen kann, Wildfly nicht verwendet Quarz (nicht wahr?), also nehme ich an, dass es einen Klassenladekonflikt mit der Quarzabhängigkeit von der anderen Anwendung gibt. Ich habe versucht, einen Quarzausschluss in der Jboss-Deployment-Struktur hinzuzufügen, aber der Konflikt bleibt bestehen. Das ist meine jboss-Deployment-Struktur:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> 
    <deployment> 
     <dependencies> 
      <module name="deployment.urtdsm-historian"/> 

      <!-- ANTLR --> 
      <module name="org.antlr" /> 

      <!-- ASM --> 
      <module name="asm.asm" /> 

      <!-- APACHE COMMONS --> 
      <module name="org.apache.commons.beanutils" /> 
      <module name="org.apache.commons.codec" /> 
      <module name="org.apache.commons.collections" /> 
      <module name="org.apache.commons.io" /> 
      <module name="org.apache.commons.pool" /> 

      <!-- JAVAX.VALIDATION --> 
      <module name="javax.validation.api" /> 

      <!-- DOM4J --> 
      <module name="org.dom4j" /> 

      <!-- JTA --> 
      <module name="javax.transaction.api" /> 

      <!-- WOODSTOX --> 
      <module name="org.codehaus.woodstox" /> 

      <!-- JETTISON --> 
      <module name="org.codehaus.jettison" /> 

      <!-- JACKSON --> 
      <module name="org.codehaus.jackson.jackson-core-asl" /> 
      <module name="org.codehaus.jackson.jackson-mapper-asl" /> 

      <!-- JAVASSIST --> 
      <module name="org.javassist" /> 

      <!-- APACHE NEETHI --> 
      <module name="org.apache.neethi" /> 

     </dependencies> 

     <exclusions> 
      <module name="org.hibernate" /> 
      <module name="org.hibernate.validator" /> 
      <module name="org.slf4j" /> 
      <module name="org.slf4j.impl" /> 
      <module name="org.apache.commons.logging" /> 
      <module name="org.apache.log4j" /> 
      <module name="org.jboss.logging" /> 
      <module name="org.jboss.logging.jul-to-slf4j-stub" /> 
      <module name="org.jboss.logmanager" /> 
      <module name="org.jboss.logmanager.log4j" /> 
      <module name="com.sun.xml.bind" /> 
      <module name="org.quartz-scheduler" /> 
     </exclusions> 

     <exclude-subsystems> 
      <subsystem name="webservices" /> 
      <subsystem name="weld" /> 
     </exclude-subsystems> 
    </deployment> 
    <module name="deployment.urtdsm-historian"> 
     <dependencies> 
      <module name="deployment.urtdsm-historian-0.1-SNAPSHOT.war"> 
       <exports>     
        <exclude path="org/hibernate/**" /> 
        <exclude path="org/springframework/orm/**" /> 
        <exclude path="org/springframework/transaction/**" /> 
        <exclude path="org/quartz-scheduler/**" /> 
        <include path="com/tdf/**" /> 
        <include path="com/psymetrix/**" /> 
        <include path="org/springframework/**" /> 
        <include path="org/aopalliance/**" /> 
        <include path="org/aspectj/**" /> 
        <include path="org/postgresql/**" /> 
       </exports> 
      </module> 
     </dependencies> 
    </module> 
</jboss-deployment-structure> 

Ich kann nicht viel in der Art der Dokumentation auf Classloading Konflikte zwischen zwei Kriegen zum Einsatz finden. Mache ich hier etwas falsch? Jede Hilfe wäre willkommen. Vielen Dank.

Quartz - 2.2.1

Wildfly - 9.0.1

+0

Wie ist die Quarzbibliothek aufgebaut? Wird es als WildFly-Modul erstellt oder liegt es direkt im Krieg? – Quincy

+0

Es lebt im Krieg – user3029642

Antwort

0

fixiert ich das Problem durch Federplanung ausgenommen. Mein Quarz-Ausschluss funktionierte, aber Quarz kam immer noch über die Abhängigkeitskette herein.

Verwandte Themen