giovedì 14 luglio 2011

Stranezze di Jboss 5.1 (versione jdk 1.6)

Sono incappato in un curioso bug scaricando la versione di Jboss 5.1 per jdk 1.6 e deployando all'interno della cartella del server un semplice Ejb stateless annotato come @WebService.
Molto semplicemente scaricando la versione ufficiale dal sito di Jboss (http://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA-jdk6.zip/download), scompattandola , copiando l'ejb dentro la directory deploy e facendo partire l'AS  mi è apparso il seguente errore:



java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File]






“Googlando” si trova subito la soluzione, praticamente bisogna modificare un file xml, il file profile.xml presente in

[JBOSS_HOME]/server/[ISTANZA]/deploy/conf/bootstrap


Bisogna agire sul bean “AttachementStore”, che si presenta così:

<!-- The attachment store -->
<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore">
                        <constructor>
<parameter ><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter>
                       </constructor>
<property name="mainDeployer"><inject bean="MainDeployer" /></property>
<property name="serializer"><inject bean="AttachmentsSerializer" /></property>
<property name="persistenceFactory"><inject bean="PersistenceFactory" /></property>
</bean>





Aggiungendo nel nodo parameter dentro il nodo constuctor l’attributo class="java.io.File"


<!-- The attachment store -->
<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore">
                        <constructor>
<parameter class="java.io.File"><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter>
                       </constructor>
<property name="mainDeployer"><inject bean="MainDeployer" /></property>
<property name="serializer"><inject bean="AttachmentsSerializer" /></property>
<property name="persistenceFactory"><inject bean="PersistenceFactory" /></property>
</bean>



Ora per carità si perdono 5 minuti a sistemare questo inconveniente ma QUANTO COSTAVA METTERE DIRETTAMENTE LA CORREZIONE NEL PACCHETTO DA SCARICARE??????????


2 commenti: