Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Application Server  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 请问在JBoss下面部署的EJB如何在Resin下面使用呢?
lvjing79





发贴: 18
积分: 0
于 2005-03-09 12:35 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我是用Eclipse+Lomboz+JBoss4.0部署的EJB,现在想在Resin下面使用这个EJB,我该如何做呢?有没有办法在Resin下面直接部署EJB呢?

lvjing79 edited on 2005-03-09 12:43

作者 Re:请问在JBoss下面部署的EJB如何在Resin下面使用呢? [Re:lvjing79]
citybeat





发贴: 8
积分: 0
于 2005-03-27 20:55 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Resin自带的文档:

---------------------------------------------------------------------------------------------------

From Dave Dribin:

To have a Resin web application use jBoss, do the following:

Copy "ejb.jar", "jboss-client.jar", and "jnp-client.jar" from $JBOSS_HOME/client into WEB-INF/lib.
Copy the EJB jar file that you put in $JBOSS_HOME/deploy into WEB-INF/lib.
Put the following <web-app> into resin.conf:
<web-app id='/web-app-path' app-dir='/real/path/of/web-app'>
<jndi-link>
<jndi-name>java:comp/env/ejb</jndi-name>
<jndi-factory>org.jnp.interfaces.NamingContextFactory</jndi-factory>
<init-param java.naming.provider.url="localhost:1099"/>
</jndi-link>
</web-app>


Of course change the JNDI URL if you're running jBoss on a different machine.

Make sure you map all of your EJBs to the "ejb/" JNDI context. For example, I have this in my jboss.xml:
<enterprise-beans>
<entity>
<ejb-name>UserBean</ejb-name>
<jndi-name>ejb/UserHome</jndi-name>
</entity>

.... other beans ....

</enterprise-beans>


This way you can lookup all the Home interfaces in the "java:comp/env/ejb/" context.

I've attached a simple JSP that shows how to access the User EJB.

And don't forget that if you re-deploy your beans to jBoss, you should copy over the jar file into WEB-INF and restart Resin.

Hope that helps!

-Dave

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EJB Test</title>
</head>

<body bgcolor="#FFFFFF">
<%@ page import='javax.naming.*' %>
<%@ page import='ejbeans.*' %>
<%@ page import='javax.rmi.*' %>
<h1 align=center>EJB Test</h1>

<%
// Get a naming context
InitialContext jndiContext;
Object ref;

// Get a reference to a UserHome Bean
jndiContext = new InitialContext();
ref = jndiContext.lookup("java:comp/env/ejb/UserHome");

int userPK;

UserHome userHome;
User user;

userHome = (UserHome)
PortableRemoteObject.narrow (ref, UserHome.class);

userPK = Integer.parseInt(request.getParameter("pk"));
user = userHome.findByPrimaryKey(new UserPK(userPK));
%>

<table border="3" width="100%">
<tr>
<th> ID </th>
<th> First Name </th>
<th> Last Name </th>
</tr>

<tr>
<th> <%= user.getId() %> </th>
<th> <%= user.getFirstName() %> </th>

<th> <%= user.getLastName() %> </th>
</tr>

</table>

</body>
</html>



做个勇敢而明智的将军

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923