在JBOSS中开发SESSIONBEAN和MSGBEAN
在JBOSS中开发SESSIONBEAN和MSGBEAN
做法:
在JBOSS中,JMS连接工厂的JNDI名:
private static final java.lang.String DESTINATION_JNDI_NAME="queue/testQueue";
private static final java.lang.String CONNECTION_FACTORY_JNDI_NAME="java:JmsXA";
Queue q = MsbUtil.getQueue();
QueueConnection conn = MsbUtil.getQueueConnection();
Session ssion = conn.createQueueSession(true,1);
TextMessage msg = ssion.createTextMessage(str);
MessageProducer proc = ssion.createProducer(q);
proc.send(msg);
ssion.close();
public static javax.jms.Queue getQueue() throws javax.naming.NamingException
{
if (cachedQueue == null) {
// Obtain initial context
javax.naming.InitialContext initialContext = new javax.naming.InitialContext();
try {
java.lang.Object objRef = initialContext.lookup(DESTINATION_JNDI_NAME);
cachedQueue = (javax.jms.Queue) objRef;
} finally {
initialContext.close();
}
}
return cachedQueue;
}
public static javax.jms.QueueConnection getQueueConnection() throws javax.naming.NamingException, javax.jms.JMSException
{
//SpyConnectionFactory conn = new SpyConnectionFactory();
if (cachedConnectionFactory == null) {
// Obtain initial context
javax.naming.InitialContext initialContext = new javax.naming.InitialContext();
try {
java.lang.Object objRef = initialContext.lookup(CONNECTION_FACTORY_JNDI_NAME);
cachedConnectionFactory = (javax.jms.QueueConnectionFactory) objRef;
} finally {
initialContext.close();
}
}
return cachedConnectionFactory.createQueueConnection();
}
MDB配置:
Ebj-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar >
<description><![CDATA[No Description.]]></description>
<display-name>Generated by XDoclet</display-name>
<enterprise-beans>
<!-- Session Beans -->
<!--
To add session beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called session-beans.xml that contains
the <session></session> markup for those beans.
-->
<!-- Entity Beans -->
<!--
To add entity beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called entity-beans.xml that contains
the <entity></entity> markup for those beans.
-->
<!-- Message Driven Beans -->
<message-driven >
<description><![CDATA[Msb]]></description>
<display-name>MsgBean</display-name>
<ejb-name>MsgBean</ejb-name>
<ejb-class>com.mudboy.msg.ejb.MsbBean</ejb-class>
<transaction-type>Container</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
</message-driven>
<!--
To add message driven beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called message-driven-beans.xml that contains
the <message-driven></message-driven> markup for those beans.
-->
</enterprise-beans>
<!-- Relationships -->
<!-- Assembly Descriptor -->
<!--
To specify your own assembly descriptor info here, add a file to your
XDoclet merge directory called assembly-descriptor.xml that contains
the <assembly-descriptor></assembly-descriptor> markup.
-->
<assembly-descriptor >
<!--
To specify additional security-role elements, add a file in the merge
directory called ejb-security-roles.xml that contains them.
-->
<!-- method permissions -->
<!--
To specify additional method-permission elements, add a file in the merge
directory called ejb-method-permissions.ent that contains them.
-->
<!-- finder permissions -->
<!-- transactions -->
<!--
To specify additional container-transaction elements, add a file in the merge
directory called ejb-container-transaction.ent that contains them.
-->
<!-- finder transactions -->
<!--
To specify an exclude-list element, add a file in the merge directory
called ejb-exclude-list.xml that contains it.
-->
</assembly-descriptor>
</ejb-jar>
Jboss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
<jboss>
<enterprise-beans>
<message-driven>
<ejb-name>MsgBean</ejb-name>
<destination-jndi-name>queue/testQueue</destination-jndi-name>
<configuration-name>Standard Message Driven Bean</configuration-name>
</message-driven>
</enterprise-beans>
</jboss>
用MyEclipse开发还是很容易的。
在JBOSS中开发SESSIONBEAN和MSGBEAN相关推荐
- Jboss ejb 开发心得!
1.ejb所依赖的第三方包要放到default文件下的lib文件夹中 2.在开发sessionBean时,一般只需要javaee.jar就可以了 3.在开发ejb客户端时,如果jboss是5.0版本的 ...
- [转] Zend studio中开发常用
转载自: http://www.cnblogs.com/iphper/archive/2012/03/21/2409397.html .快捷键设置 在zendstudio中开发的过程中,我们应专注与代 ...
- 在ASP.NET MVC应用中开发插件框架(中英对照)
[原文] Developing a plugin framework in ASP.NET MVC with medium trust [译文] 在ASP.NET MVC应用中开发一个插件框架 I'v ...
- spark (java API) 在Intellij IDEA中开发并运行
Spark 程序开发,调试和运行,intellij idea开发Spark java程序. 分两部分,第一部分基于intellij idea开发Spark实例程序并在intellij IDEA中运行 ...
- cordova开发插件,并在android studio中开发、调试
之前用过cordova Lib包装H5页面,自己写插件,但做法是野路子,不符合cordova插件的开发思路,这次项目又需要包装H5页面,同时需要自定义插件.所以又折腾了一次cordova自定义插件. ...
- 能在xcode5中开发基于IOS7sdk的应用程序兼容ios4.3之后的系统吗?
能在xcode5中开发基于IOS7sdk的应用程序兼容ios4.3之后的系统吗? 转载于:https://www.cnblogs.com/ygm900/p/3472859.html
- 在.NET 2.0正式版中开发无刷新页面
在已经发布的 ASP.NET2.0 中,无刷新页面开发相关部分同 beta2 有不少改动.而且在越来越多的 Ajax 开发包被开发出来的情况下, ASP.NET2.0 自带的无刷新页面技术没有被很多人 ...
- mysql 查询分析器中使用if_查询分析器中开发代码测试检查_MySQL
如果您像我一样,则可能已经花费了很多时间在查询分析器中开发代码.在您对代码感到满意之后,可以立即对开发服务器上的测试数据库运行一个或两个专设 测试.如果看起来没有什么问题,您便可以将代码投入生产.如果 ...
- JOSSO在JBOSS中安装与配置
JOSSO在JBOSS中安装与配置 1.JOSSO单点登录网关 1.1进入josso/bin目录,执行josso-gsh命令 1.2 安装JOSSO的核心Gateway,执行命令 gateway in ...
最新文章
- time.h中的相关计时函数time,localtime,clock等详解
- python调用c++传递数组
- Swift5.1 语言参考(十) 语法汇总
- 【重磅】ArcGIS 10.8手把手经典图文安装教程(附安装包全套装下载,亲测可用)
- 数学能有多美?这个动图看了完全停不下来...
- video.js android,VideoJS + HTML5自动播放失败,适用于Android 2.3+和IOS 4+
- AJAX框架衣柜内部布局,​最合理的衣柜内部布局解析,3大细节不容小觑
- 利用循环队列的思想进行加密解密(洛谷P1914题题解,Java语言描述)
- mysql乐观锁与事务_[数据库事务与锁]详解七: 深入理解乐观锁与悲观锁
- 去除序号(正则表达式with sublime text)
- Spark Core(四)用LogQuery的例子来说明Executor是如何运算RDD的算子(转载)
- 笔记内容:非线性控制理论
- 专门查英语单词的软件_查英语单词的工具
- 【移动安全高级篇】————4、Android手机一键Root原理分析
- 计算机拆机步骤图解,惠普笔记本拆机步骤图解
- 【原创】图像处理第5弹:面部表情识别--微笑
- Python数据库开发之-pymysql模块
- 饥荒机器人雷击_饥荒机器人怎么被雷劈
- 随感——冬天走了、微软社区精英会议
- 图片标签,内联框架,音视频
热门文章
- rbac权限管理5张表_PHP之常用的RBAC权限管理详解
- php curl 不验证ssl,PHP Curl https跳过ssl证书认证报错记录及解决
- come type6 定义_COMe-B6101龙芯3A3000 COM Express Type6模块
- Leetcode69场双周赛-第三题5962. 连接两字母单词得到的最长回文串
- 百练OJ:2808:校门外的树
- Vue中使用html2canvas和jspdf插件实现导出pdf(自定义html样式可带图片)并下载
- Angular中使用JS实现路由跳转、动态路由传值、get方式传值
- DevExpress的TreeList的常用属性设置以及常用事件
- hexo + github 搭建个人博客
- 数据库系统概念总结:第三章 SQL