首页 / 软件开发 / JAVA / 在JBoss集群中建立JMS集群服务
在JBoss集群中建立JMS集群服务2011-10-13 javaresearch bromonJMS集群的意义在于提升系统在处理消息时的并发能力,建立这样的集群,有三个步骤:1.配置JMS消息持久化所使用的数据库2.配置分布式的jndi环境3.配置分布式JMS集群在JBoss集群中,系统采用hibernate的方式来保存消息,所以能够兼容hibernate支持的所有数据库。 JBoss默认采用 hsql,在我们的例子中,将使用oracle 9.2。首先需要配置连接到数据库的jndi数据源。 方法是把docexamplesjca下的 oracle-ds.xml文件拷贝到serverallfarm下,并且修改其中的参数, 保证数据库能够正确连接。JBoss集群启动后,该文件能够通过JBoss的farm服务,自动拷贝到其他集群节 点,并且自动部署。假设jndi数据源的名称为:GlobalDS将 docexamplesJMS下的oracle-jdbc3- service.xml文件拷贝到serveralldeploy- hasingletonJMS目录下,并且删除该目录下的hsqldb- jdbc2-service.xml。修改oracle-jdbc3- service.xml,在56行左右指定name的值为数据源的名字: GlobalDS。这样系统会使用该数据源来保存JMS消息。使用如下命令启动 boss: run ?c all.启动完成后 ,正常情况下会发现oracle数据库中多出了三张表:1、JMS_message_log 该表用于保存所有未处理的点对点消息,表结构是:Messageid 消息idDestination 目的地Txid 事务idTxop 消息操作类型(a为新增,d为删除)Messageblob 消息内容2、JMS_REFERENCE_LOG 用于保存所有未处理的topic消息,表结构是:MessageidDestinationTxidTxopMessageblobRedelivered 消息是否被重发3、JMS_TRANSACTION_LOG 用于保存处理消息过程中的一些重要的事务