L'applicazione girava su Apache Tomcat, ma per testare la mia nuova idea avevo bisogno di un application server di tipo transazionale allora mi sono rivolto a JBOSS 4.2.2 GA utilizzando le librerie fornite fra le quali hibernate 3.
Comunque dopo aver avviato JBOSS e in fase di inizializzazione dei bean di Spring mi esce un errore:
[......]
java.lang.RuntimeException: java.lang.IllegalArgumentException
at javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:356)
at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:339)
at javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:312)
at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:271)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:138)
at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:42)
at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(Pojo
[......]
Caused by: java.lang.IllegalArgumentException
at sun.reflect.UnsafeStaticObjectFieldAccessorImpl.set(UnsafeStaticObjectFieldAccessorImpl.java:61)
at java.lang.reflect.Field.set(Field.java:656)
at javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:352)
Problema risolto e posto la soluzione in caso qualcuno abbia necessità di usare struts2, JBoss e Hibernate.
Il problema non è javassist ma struts2 o meglio la xwork di struts2 (presente nel mio caso nella lib del war).
Infatti quest'ultima contiene javassist e crea problemi a quella fornita da JBoss.
La soluzione ideale sarebbe quella di scaricare i sorgenti di xwork, togliere i package di javassist e ricompilare il tutto con le librerie di JBoss. In tal modo si usa quella fornita da jboss.
Però per i + sfaticati (come ho fatto io :D ) basta aprire il jar di xwork con qualsiasi tool di compressione che lo supporta e eliminare la cartella javassist.
Spero di essere stato utile e se finisco il progetto (sempre che non mi scoccio) posto un tutorial.
Alla prossima!!
Nessun commento:
Posta un commento