This week's book giveaways are in the Refactoring and Agile forums.
We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!
See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Step by Step how to configure remote clients with Resin

Rick Hightower
Ranch Hand
Posts: 350
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Brain Wilson had a question on how to configure remote clients to talk to EJB beans in Resin.
He sent me some offline email as well posting his question on the Resin mailing list.
I thought I would share the answer with this forum since this is appropiate for people getting started with Resin EE.
1) First I would not hardcode the JNDI properties in your source code. Instead put them in a JNDI properties file called As long
as this file is on you classpath the JNDI system will find as a class resource and use it as the default properties for the initial
context and provider URL. Then all you need to do is create an InitialContext with no arguments. This is the more portable J2EE way to get
your initial context.
Here is an example properties file for accessing weblogic (resin example
will follow)
Sample Listing....
2) Now the question becomes how do you configure the above for Resin. I think
the answer is here
<a href=""></a>. Although the link does
not specify client access per se or the file.
Try changing the JNDI properties file as follows for hessian...
Try changing the JNDI properties file as follows for burlap...
I have not tried this with Resin, but I have done similar things when
working with WebLogic and Sun's RI. I've only done local beans for web apps
with Resin EE in production. This should work.
3) You are not done yet. You also have to expose hessian protocol from your
web application that houses your enterprise beans. I found information how
to do this here...
<a href=""></a>
Add the following mapping to your web application's deployment descriptor
for burlap.
<!-- Burlap protocol configuration -->
<url-pattern id='/burlap/*'/>
<servlet-name id='com.caucho.burlap.EJBServlet'/>
Strangely.... The documentation only explains Burlap instead of Hessian.
Hessian is the preferred way to access the bean remotely (faster, but does
not sneak through firewalls as well as Burlap).
Based on the logical nature of most of the Resin package naming, I make the
following guess on configuring Hessian. (I'll try this when I add this
information to the tutorial I am writing).
<!-- Hessian protocol configuration -->
<url-pattern id='/hessian/*'/>
<servlet-name id='com.caucho.hessian.EJBServlet'/>
4) Lastly it seems you are doing this mainly to test your enterprise beans.
I suggest using Cactus to test local beans. I think there is too much
configuration and runtime overhead to use remote beans just to test beans
that will naturally run locally within the confines of a web application.
Rick Hightower
Ranch Hand
Posts: 350
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I tried it. It works almost exactly like I said it would.
One thing I left out, is the web application name in the provider url.

Also although the is the most portable way to create the web
There are issues of other file being first on the classpath.
Be careful.
If you have problems print out the getEnvironment from the initial context
to see if it is setup correctly.
Or if you are still having classpath/ issues you can hard code the , i.e.,

I don't like the hard coding, but...
Paul Yen
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I tried the tutorial in objectlearn.
I used the Lomboz + Eclipse + Resin. When I tried to do the client testing, I got an error which is "no /hessian/ found" . If I removed the "/hessian/" from the url provider. It throw an exception and stop the process. The exception is unknow code:m.

Any one has tried that tutorial before, and completed it. Or anyone has any idea. I would appreciate that.

Thanks a lot.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic