ejb not bound
manishpathak25 Jun 14, 2004 10:08 AMHello All,
As the topic suggests, nothing new in the topic - already lots of post with this, and I have read many of them before posting this.
I have an EJB deployed on JBoss 3.2.3 and at the end of deployment, I get the following:
****
2004-06-14 18:56:03,211 INFO [org.jboss.ejb.EjbModule] Deploying HelloWorldServer
2004-06-14 18:56:03,352 INFO [org.jboss.ejb.plugins.StatelessSessionInstancePool] Started jboss.j2ee:jndiName=HelloWorldServer,plugin=pool,service=EJB
2004-06-14 18:56:03,352 INFO [org.jboss.ejb.StatelessSessionContainer] Started jboss.j2ee:jndiName=HelloWorldServer,service=EJB
2004-06-14 18:56:03,352 INFO [org.jboss.ejb.EjbModule] Started jboss.j2ee:module=HelloServer.jar,service=EjbModule
2004-06-14 18:56:03,352 INFO [org.jboss.ejb.EJBDeployer] Deployed: file:/C:/jboss-3.2.3/server/default/deploy/HelloServer.jar
2004-06-14 18:56:03,399 INFO [org.jboss.deployment.MainDeployer] Deployed package: file:/C:/jboss-3.2.3/server/default/deploy/HelloServer.jar
****
My enterprise bean tag within ejb-jar.xml is:
****
<enterprise-beans>
<!-- Session Beans -->
helloWorld Session bean example.
<display-name>HelloWorldServerDisplayName</display-name>
<ejb-name>HelloWorldServer</ejb-name> <!--Matches with Jboss.xml -->
org.berttorfs.tutorialserver.HelloServerHome
org.berttorfs.tutorialserver.HelloServer
<ejb-class>org.berttorfs.tutorialserver.HelloServerBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</enterprise-beans>
****
And my jboss.xml is :
****
<enterprise-beans>
<ejb-name>HelloWorldServer</ejb-name><!--Matches ejb-jar.xml -->
<jndi-name>ejb/HelloWorldServer</jndi-name>
</enterprise-beans>
****
I am calling this in my client as:
****
Properties props = new Properties();
props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
props.put("java.naming.provider.url", "localhost:1099");
try
{
InitialContext ctx = new InitialContext(props);
HelloServerHome theHelloHome = (HelloServerHome) ctx.lookup("ejb/HelloWorldServer");
}
catch (Exception e)
{
System.out.println ("all wrong not working");
e.printStackTrace();
}
****
I get an error message if I execute the client as Java Application saying "ejb not bound".
To check if EJB is registered, I open "http://localhost:8080/jmx-console/index.jsp" and click on "service=JNDIView". In this, I use 'List' and invoke this method. Here, I see entry for my bean as:
****
Ejb Module: HelloServer.jar
java:comp namespace of the HelloWorldServer bean:
+- env (class: org.jnp.interfaces.NamingContext)
****
Also, under "jboss.management.local", I see following entry:
****
EJBModule=HelloServer.jar,J2EEApplication=null,J2EEServer=Local,j2eeType=StatelessSessionBean,name=HelloWorldServer
****
All this gives me the impression that bean is deployed correctly. So, why am I still getting ejb not bound?
Any suggestions would be appreciated.
Regards,
Manish