I am in the process of refactoring two JMS Listeners to being Message Driven Beans. Upon doing so, I removed them from the Web Application and am wanting to deploy them as EJB's. So now there will be app.war and myEJB.jar within the .EAR file. The problem I am running into is that when I deploy the ear, it complains about ClassNotFoundExceptions on the EJB Module. The reason for this is because the MessageListeners rely on code that exists within a jar file under the WEB-INF/lib of the web project.
Whats the best way to configure my .EAR so that I can access the code from both the EJB and Web App?
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4"> <display-name>EAR File for my app</display-name> <module> <ejb>myEJB.jar</ejb> </module> <module> <web> <web-uri>app.war</web-uri> <context-root>app</context-root> </web> </module> </application>
I was reading up on the isolated class loading within an EAR File on the JBoss Wiki. Would that work in this situation? I am still getting the ClassNotFoundExceptions when the EJB.jar is starting up. Any help on this matter is greatly appreciated. Thank you.