用过facade(session Ejb)调用mdb发送过sendMessage()方法的高手进来看看!!(问题解决就结贴)

hoverqjl 2004-03-29 05:52:36
各位大虾:
我现在想在facade sessionBean中调用其他的消息驱动bean,所以有一个发送消息的
sendMessage(),但是有错误啊

public void sendMessage(Order order) {
try{
QueueSender queueSender = null;
Context ctx=getInitialContext();
//执行到这里抛出异常
QueueConnectionFactory qConFactory =
(QueueConnectionFactory) ctx.lookup("weblogic.jms.ConnectionFactory");
Queue messageQueue = (Queue)ctx.lookup("bookstorequeue");
QueueConnection qCon=qConFactory.createQueueConnection();
QueueSession session = qCon.createQueueSession(false,Session.AUTO_ACKNOWLEDGE );
queueSender=session.createSender(messageQueue);
Message objMessage=session.createObjectMessage(order);
queueSender.send(objMessage);
if (queueSender != null) {
queueSender.close();
}
if(qCon!=null) {
qCon.close();
}

}catch(Exception e){e.printStackTrace();}
这个方法对吗?


private Context getInitialContext() throws Exception {
String url = "t3://localhost:7001";
String user = "system";
String password = "security";
Properties properties = null;
try {
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
if (user != null) {
properties.put(Context.SECURITY_PRINCIPAL, user);
properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
}
return new InitialContext(properties);
}
catch(Exception e) {

System.out.println("Unable connect to Weblogic server at"+url);
throw e;
}
}
这是getInitialContext()方法,这个方法到底有何作用,
user和password必须是system和security吗?
先谢了!
...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pastelife 2004-03-29
  • 打赏
  • 举报
回复
conxerning..
北极猩猩 2004-03-29
  • 打赏
  • 举报
回复
直接由Message Facade好不好啊
Leemaasn 2004-03-29
  • 打赏
  • 举报
回复
先解释一下
getInitialContext()
*****************
一般我们通过jndi访问ejb,都需要获得一个Context,
各种应用服务器获得Context的方式一般都有所差别,

因此,你上面的
getInitialContext()
可以看作是为了得到WebLogic的Context而编写的一个函数。



现在明白了吧?

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧