开发者社区> boxti> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

websphere5.1上使用普通client调用EJB需要注意的问题

简介:
+关注继续查看
在websphere server上的jsp、servlet中调用EJB很简单了:
            Context ctx = new InitialContext();
            MessageSender msgSender 
= null;
            MessageSenderHome home 
= (MessageSenderHome) javax.rmi.PortableRemoteObject
                    .narrow(ctx.lookup(
"MessageSender"),
                            MessageSenderHome.
class);

            msgSender 
= home.create();
            msgSender.sendMessage();
    如果要在服务器外部的普通java类的main方法中调用websphere上的EJB,需要注意几个问题:
1.需要将websphere安装目录下的lib中的jar包加入classpath
2.拷贝websphere安装目录下\WebSphere\AppServer\properties\下面的implfactory.properties文件加入classpath
3.需要将websphere部署完成后生成的jar包(包含自动生成的存根类等,不然会报不能载入存根的error)加入classpath,比如WebSphere\AppServer\installedApps\dennis\JMSTest.ear\JMSTest.jar包
4.使用webphere自带的ibm的JDK,也就是安装目录下WebSphere\AppServer\java即是,在eclipse中新建一个安装的jre即可,替代策略是将此jdk下的jre的jar包加进classpath也行

    一个java类调用ejb的例子,调用SLSB:
package net.rubyeye.testjms;

import javax.naming.Context;
import javax.naming.InitialContext;

import net.rubyeye.testjms.interfaces.MessageSender;
import net.rubyeye.testjms.interfaces.MessageSenderHome;

public class Test {

    
/**
     * 
@param args
     
*/
    
public static void main(String[] args) {
        
try {
            
// Hashtable h = new Hashtable();
            
// h.put(Context.INITIAL_CONTEXT_FACTORY,
            
// "com.ibm.websphere.naming.WsnInitialContextFactory");
            
// h.put(Context.PROVIDER_URL, "corbaloc::127.0.0.1:port");
            Context ctx = new InitialContext();
            MessageSender msgSender 
= null;
            MessageSenderHome home 
= (MessageSenderHome) javax.rmi.PortableRemoteObject
                    .narrow(ctx.lookup(
"MessageSender"),
                            MessageSenderHome.
class);

            msgSender 
= home.create();
            msgSender.sendMessage();
        } 
catch (Throwable t) {
            t.printStackTrace();
        }
    }
}

在同一台机器上使用上面的代码即可调用,远程调用去掉注释,并替换相应的IP和port

文章转自庄周梦蝶  ,原文发布时间5.17

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
java web 项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码
像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ,以及设置URL反回来的值和 select 的text ,和value 的对应关系 ,这有2个问题:一使用者必须知道URL ,二,如果页面有10个下拉表表,要请求后台10次,肯定影响性能,而我想要的是.
1370 0
File Templates for web.xml & web-fragment.xml (Servlet 2.3, 2.4, 2.5 + 3.0)
As I sometimes need these, I have compiled a list of the valid headers of the web.xml and web-fragment.
658 0
符合j2ee标准的web application + web.xml
首先,提出一个问题,到底符合j2ee标准的web 应用程序是什么样的? 其实,我们看到的,就是一个目录。而他的目录结构是基本固定的: 1、WEB-INF  ——这是对这个web的描述。
1075 0
sql 嵌套while需要注意的问题
DECLARE @i INT ,@j INTSET @i=1set @j=1WHILE @i
547 0
【常见Web应用安全问题】---2、SQL Injection
 Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里只介绍常见、比较常见和有点常见的。  常见Web应用安全问题安全性问题的列表:   1、跨站脚本攻击(CSS or XSS, Cross Site Scripting)   2、SQL注入攻击(SQL inject...
912 0
microsoft source code analyzer for sql injection
http://support.microsoft.com/kb/954476
493 0
+关注
boxti
12535
10006
文章
1327
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载