Java平台上实施开发, 随便一个项目都可能需要使用数不清的Jar文件, 于是乎就很容易产生Jar文件版本加载和依赖问题即jar hell, Modularization 定义了将类和资源文件打包成一个模块的规范, 从而类加载器可以识别类的版本和依赖关系。
Java 7 引入了一个新的关键字 module
module blog.jboss.jms@1.0;
package blog.jboss.jms.second.day;
public class ModularService {
}
上面这段代码告诉JVM, ModularService属于模块"blog.jboss.jms"版本为1.0,任何要调用这个ModularService的其他类必须也属于模块"blog.jboss.jms"并且要相同版本.
Java 7 使用module-info.java来描述模块之间的依赖关系:
module demo provides jms{
// Must have this module visible
requires jboss ;
// Only this module will be able to require me.
permits blog;
}
Jboss 7 的Modularization实现请参考这里.
Step 1 : 创建消息队列 Queue 和 Topic
用命令行的方式创建消息队列
%JBOSS_HOME%/bin/jboss-cli --connect
[standalone@localhost:9999 /] jms-queue add --queue-address=firstQueue --entries=queue/first
[standalone@localhost:9999 /] jms-topic add --topic-address=firstTopic --entries=topic/first
需要详细的命令行帮助:
[standalone@localhost:9999 /] jms-queue -h
[standalone@localhost:9999 /] jms-topic -h
用web 控制方式创建消息队列 : "Profile" -- "Messaging Provider" -- "JMS Destination" -- "Add" or "Remove"
Step 2 : 配置 JMS Connection Factory
消息客户端通过JMS Connection Factory 与消息服务器端建立通信连接,从而发送或者接受消息。
如果客户端和服务器端运行在同一个JVM,则可以使用"InVmConnectionFactory",否则"RemoveConnectionFactory"。
至于两阶段事务XA和Pooled Connection Factory,如果后面用到再说吧。
具体的配置如下:
To be continued.