[jboss-user] [Beginners Corner] - Re: invoking an EJB over iiop
HibsMax
do-not-reply at jboss.com
Mon Jun 11 16:19:04 EDT 2007
At the risk of boring everyone to tears with this problem, I feel like I have no option having searched exhaustively (IMO) for a solution both on and off line. I'm completely at the mercy of those who have been through this before or those that simply understand iiop much better than I.
I am now in a state where my Java client apparently hangs with no error message on the client or the server. The last messages on the server side are:
15:34:00,922 INFO [TestBean] Home IOR for TestBean bound to iiop/TestBean in JNP naming service
| 15:34:00,922 INFO [TestBean] Home IOR for TestBean bound to TestBean in CORBA naming service
| 15:34:00,952 INFO [ProxyFactory] Bound EJB Home 'TestBean' to jndi 'TestBean'
| 15:34:00,952 INFO [EJBDeployer] Deployed: file:/C:/jboss-4.2.0.GA/server/test/deploy/ejb.jar
| 15:34:01,132 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
| 15:34:01,623 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
| 15:34:01,783 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
| 15:34:01,823 INFO [Server] JBoss (MX MicroKernel) [4.2.0.GA (build: SVNTag=JBoss_4_2_0_GA date=200705111440)] Started in 45s:533ms
I have been able to invoke the bean using the default method (JRMP according to one reference) so that gives me a little comfort. I think the simplest thing I can do is detail what settings I am using and hope that someone sees something wrong. I'm not against reading documentation, etc. I just haven't been able to find much wrt iiop.
Here are the settings that my client uses:
<sysproperty key="PROVIDER_URL" value="localhost:3528"/>
| <sysproperty key="EJB_HOME_NAME" value="iiop/TestBean"/>
| <sysproperty key="INITIAL_CONTEXT_FACTORY" value="org.jboss.iiop.naming.ORBInitialContextFactory"/>
PROVIDER_URL => localhost:3528 (I tried iiop://localhost:3528 but that results in an exception i.e. unknown host iiop).
EJB_HOME_NAME => iiop/TestBean (this seems to jive with the JBoss server output listed above)
INITIAL_CONTEXT_FACTORY => org.jboss.iiop.naming.ORBInitialContextFactory (this is the class that I believe needs to be used, according to the various docs I have read)
Here's my jboss.xml:
<?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_4_2.dtd">
| <jboss>
| <enterprise-beans>
| <session>
| <ejb-name>TestBean</ejb-name>
| <jndi-name>TestBean</jndi-name>
| <configuration-name>Standard Stateless SessionBean</configuration-name>
| <invoker-bindings>
| <invoker>
| <invoker-proxy-binding-name>iiop</invoker-proxy-binding-name>
| </invoker>
| <invoker>
| <invoker-proxy-binding-name>stateless-rmi-invoker</invoker-proxy-binding-name>
| </invoker>
| </invoker-bindings>
| </session>
| </enterprise-beans>
| </jboss>
When I start my test with those settings above, my client hangs. By that I mean that the last debug statement I have is displayed right before this command:
Object foo = ctx.lookup(ejbHomeName);
Nothing else happens beyond this point. Neither java process is consuming CPU cycles. There are no messages at all on my client or my server. I would have expected something to be printed out. The only time I've seen something like this is an infinite loop somewhere but that usually causes massive CPU utilisation.
As an addendum, when I use these settings shown here, I get success:
<sysproperty key="PROVIDER_URL" value="jnp://localhost:1099"/>
| <sysproperty key="EJB_HOME_NAME" value="TestBean"/>
| <sysproperty key="INITIAL_CONTEXT_FACTORY" value="org.jnp.interfaces.NamingContextFactory"/>
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4053269#4053269
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4053269
More information about the jboss-user
mailing list