Weblogic 9 + JBoss Embeddable
zaidhaque Sep 21, 2005 2:34 AMHi Bill,
Still no luck. As you said I followed the EmbeddedEJB3.jsp how it does the lookup. Later I did ported EmebeddedEJB3.jsp itself with having its classes in place. Both the cases I'm gettting javax.naming.NameNotFoundException:
Am I missing something. It looks for some kind of binding. Do I have to have jndi.properties somewhere (I see this file created when I use JBoss IDE). I had no issues with JBOSS AS 4RC2. I didn't do any special configuration as I can remember.
However let me list down what I'm doing:
1. I'm having all the files in \conf directory put in the WEB-INF\classes directory
embedded-jboss-beans.xml, jboss-jms-beans.xml, testjms.xml, ejb3-deployment.xml, ejb3-interceptors-aop.xml, log4j.xml, default.persistence.properties
2. Added all the jars (jars thats comes with EJB3) in to WEB-INF\lib directory
3. Modified web.xml to have follwing
<context-param>
<param-name>jboss-kernel-deployments</param-name>
<param-value>embedded-jboss-beans.xml, jboss-jms-beans.xml, testjms.xml, ejb3-deployment.xml</param-value>
</context-param>
<listener-class>org.jboss.ejb3.embedded.ServletBootstrapListener</listener-class>
4. and now I do the lookup as following
public static InitialContext getInitialContext() throws Exception
{
Hashtable props = getInitialContextProperties();
return new InitialContext(props);
}
private static Hashtable getInitialContextProperties()
{
Hashtable props = new Hashtable();
props.put("java.naming.factory.initial", "org.jnp.interfaces.LocalOnlyContextFactory");
props.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
return props;
}
public void jspInit () {
try {
InitialContext ctx = getInitialContext();
cal = (Calculator) ctx.lookup(
Calculator.class.getName());
} catch (Exception e) {
e.printStackTrace ();
}
}
javax.naming.NameNotFoundException: com.emirates.ibe.testejb3.business.interface
s.Calculator not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:491)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:499)
at org.jnp.server.NamingServer.getObject(NamingServer.java:505)
at org.jnp.server.NamingServer.lookup(NamingServer.java:278)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:610)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at jsp_servlet.__calculator.jspInit(__calculator.java:121)
at weblogic.servlet.jsp.JspBase.init(JspBase.java:27)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(St
ubSecurityHelper.java:265)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
121)
at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecuri
tyHelper.java:61)
at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubL
ifecycleHelper.java:58)
at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHel
per.java:48)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
mpl.java:502)
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:225)
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:164)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.jav
a:224)
at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(Servlet
StubImpl.java:383)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.jav
a:298)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.jav
a:165)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:3022)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppS
ervletContext.java:1925)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletC
ontext.java:1848)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.j
ava:1288)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
javax.naming.NameNotFoundException: org.jboss.tutorial.embeddedwar.CustomerDAOLocal not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:491)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:499)
at org.jnp.server.NamingServer.getObject(NamingServer.java:505)
at org.jnp.server.NamingServer.lookup(NamingServer.java:278)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:610)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at jsp_servlet.__embeddedejb3._jspService(__embeddedejb3.java:204)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:214)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:120)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:383)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:298)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:165)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3022)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1925)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1848)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1288)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
Rgds
Zaid