博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JBoss高级配置
阅读量:4199 次
发布时间:2019-05-26

本文共 3946 字,大约阅读时间需要 13 分钟。

一,配置数据源

以配置MySQL数据库为例,{JBOSS_HOME}是Jboss4.0.2的安装目录
1,从{JBOSS_HOME}/docs/examples/jca下找到mysql-ds.xml,如果是MS SQL Server 就是mssql-ds.xml;
  如果是oracle,就是oracle-ds.xml
2, 修改mysql-ds.xml的jndi-name,connection-url,driver-class,user-name,password元素,下面是一个例子
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: mysql-ds.xml,v 1.3.2.1 2004/12/01 11:46:00 schrouf Exp $ -->
<!--  Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->
<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://127.0.0.1:3306/scretary</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>pass</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <!-- sql to call when connection is created
    <new-connection-sql>some arbitrary sql</new-connection-sql>
      -->
    <!-- sql to call on an existing pooled connection when it is obtained from pool
    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
      -->

    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->

    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>
3,把修改好的文件拷贝到{JBOSS_HOME}/server/default/deploy下,重启Jboss。
如果没有错误的话,启动过程会输出:
10:15:40,593 INFO  [WrapperDataSourceService] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlDS to JNDI name 'java:MySqlDS'
打开控制台 ,在jboss.jca下可以看到我们刚刚配置的数据源
name=MySqlDS,service=DataSourceBinding
name=MySqlDS,service=LocalTxCM
name=MySqlDS,service=ManagedConnectionFactory
name=MySqlDS,service=ManagedConnectionPool
4,通过Jndi名字“java:MySqlDS”就可以访问数据源了

 

 
private
 
static
 
void
 getDataSource() 
{
  Context ctx 
= null;
  
try {
   ctx 
= new InitialContext();
  }
 catch (NamingException e) {
   
// TODO Auto-generated catch block
   log.error("InitialContext错误:" + e.getMessage());
   
return;
  }
  
try {
   Object obj 
= ctx.lookup(dsJndiName);
   ds 
= (DataSource) obj;
  }
 catch (Exception e) {
   log.error(
"查找DataSource的Jndi名" + dsJndiName + "错误:"
     
+ e.getMessage());
  }
  
return;
 }

二 配置JMS Topic和Queue

以配置一个叫testTopic的JMS Topic和testQueue的Jms Queue为例

1,打开{JBOSS_HOME}/server/default/deploy/jms/jbossmq-destinations-service.xml文件
在</server>前后增加下面的一段:

 

 
<
mbean 
code
="org.jboss.mq.server.jmx.Topic"
  name
="jboss.mq.destination:service=Topic,name=testTopic"
>
    
<
depends 
optional-attribute-name
="DestinationManager"
>
jboss.mq:service=DestinationManager
</
depends
>
    
<
depends 
optional-attribute-name
="SecurityManager"
>
jboss.mq:service=SecurityManager
</
depends
>
    
<
attribute 
name
="SecurityConf"
>
      
<
security
>
        
<
role 
name
="guest"
 read
="true"
 write
="true"
/>
        
<
role 
name
="publisher"
 read
="true"
 write
="true"
 create
="false"
/>
        
<
role 
name
="durpublisher"
 read
="true"
 write
="true"
 create
="true"
/>
      
</
security
>
    
</
attribute
>
  
</
mbean
>

上面的意思是配置一个叫testTopic的Topic。可以根据自己的需要修改这个名字,其他的不用修改。
配置Queue跟Topic类似,加入下面这段:

  
<
mbean 
code
="org.jboss.mq.server.jmx.Queue"
  name
="jboss.mq.destination:service=Queue,name=testQueue"
>
    
<
depends 
optional-attribute-name
="DestinationManager"
>
jboss.mq:service=DestinationManager
</
depends
>
    
<
depends 
optional-attribute-name
="SecurityManager"
>
jboss.mq:service=SecurityManager
</
depends
>
    
<
attribute 
name
="MessageCounterHistoryDayLimit"
>
-1
</
attribute
>
    
<
attribute 
name
="SecurityConf"
>
      
<
security
>
        
<
role 
name
="guest"
 read
="true"
 write
="true"
/>
        
<
role 
name
="publisher"
 read
="true"
 write
="true"
 create
="false"
/>
        
<
role 
name
="noacc"
 read
="false"
 write
="false"
 create
="false"
/>
      
</
security
>
    
</
attribute
>
  
</
mbean
>

上面这段配置代码是配置一个叫testQueue的Queue,也可根据需要修改名字。
2,重新启动Jboss,如果没有错误可以看到
10:15:39,281 INFO  [testTopic] Bound to JNDI name: topic/testTopic
10:15:39,296 INFO  [testQueue] Bound to JNDI name: queue/testQueue

通过Jndi名字“java:topic/testTopic”和“java:queue/testQueue”就可以访问Topic和Queue对象了。

 

转载地址:http://uibli.baihongyu.com/

你可能感兴趣的文章
Net远程管理实验
查看>>
反病毒专家谈虚拟机技术 面临两大技术难题
查看>>
几种典型的反病毒技术:特征码技术、覆盖法技术等
查看>>
反虚拟机技术
查看>>
性能测试一般过程与LR性能测试过程
查看>>
LoadRunner专题系列——LoadRunner脚本中的参数化
查看>>
将事务插入到 Vuser 脚本(lr用户手册)
查看>>
测试时代新推出《测试员》特刊之软件测试基础
查看>>
关于事务(transaction)
查看>>
LR中的事务(transaction)
查看>>
LoadRunner中的事务——好友冰岩原创
查看>>
LoadRunner专题系列——事务Transaction
查看>>
个人的执行力
查看>>
Software Security Testing软件安全测试
查看>>
浅入浅出Liunx Shellcode(安全焦点)
查看>>
Arp反欺骗策略(出自安全焦点)
查看>>
代码逆向乱谈之导引(安全焦点)
查看>>
四大奸臣论之向领导提意见的艺术
查看>>
SQL注入漏洞全接触--入门篇
查看>>
SQL注入漏洞全接触--进阶篇
查看>>