Isolated EAR and segmentation fault
aleskbalaban Dec 29, 2005 12:05 PMHello
I'm trying to deploy one isolated ear archive trying to keep all needed classes separated from the environment. I was styding the articles about class loading within jboss and finally successed to deploy the ear. (it looks just fine, in the jmx console I can see the custom class loader and the webservice is also in the jboss-net console) but by the invoking I got the server crash - one segmentation fault exception without any explanation.
the ear structure looks like:
jar -tf invoice.ear
META-INF/
META-INF/MANIFEST.MF
META-INF/application.xml
META-INF/jboss-app.xml
activation-1.0.1.jar
aurigadoc.jar
avalon-framework-cvs-20020806.jar
batik.jar
fop.jar
jakarta-oro-2.0.6.jar
jfor-0.7.2rc1.jar
jhall.jar
logkit-1.0.1.jar
mail-1.2.jar
ss_css2.jar
webhosting-invoice-interfaces.jar
xalan-2.4.1.jar
xerces-1.2.3.jar
invoice-interfaces.jar
invoice-impl.jar
invoice.wsr
Inside of ear I put some jars (which should be isolated from the system ones), one ejb archive and one pojo which is exposed via webservice interface. this pojo is actually used to wrapp the ejb. The ejb is never accessed directly by the other components.
the jboss-app.xml looks like
<jboss-app>
<loader-repository>
webhosting.niwa.at:loader=webhosting-invoice-generator.ear
<loader-repository-config>
java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</jboss-app>
I didn't add any ejb-ref in the ejb deployment descriptor since only the pojo from ear will access the ear's ejb. Actually, i'm not sure that I understand why are the ejb-ref so "good", maybe I'm doing wrong not using them?
However when I start with tests by the first ws invocation the pojo puts one loggin message in the log file, try to access the ejb and the segmentation fault occurs!
the ejb invocation from pojo looks like:
DataHandler cm = null;
WebShopWSInvoice rem = null;
InitialContext jndiContext = new InitialContext();
Object ref = jndiContext.lookup("Invoice");
WebShopWSInvoiceHome home = (WebShopWSInvoiceHome) PortableRemoteObject.narrow(ref, WebShopWSInvoiceHome.class);
rem = home.create();
cm = rem.createInvoice(orderid,contactid);
can anybody give me any suggestions what could be wrong in my design?
thanks in advice and best regards from vienna
aleks