Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Хранение очереди сообщений в оракле


Автор: ss__v 26.9.2007, 18:05
Для того чтобы сохранять очередь сообщений в оракле, jbossesb-4.2GA  необходимо немного переконфигурировать а именно:
1)Добавить jar-файл с драйвером jdbc для оракла в JBOSS_HOME/server/default/lib
2)Изменить аналогичную секцию в jbossesb-4.2GA\lib\jbossesb.esb\message-store-ds.xml на
Код



<local-tx-datasource>
         <jndi-name>JBossESBDS</jndi-name>         
         <!-- use for server mode (over tcp) -->
         <connection-url>jdbc:oracle:thin:@some_url:some_port:some_name_of_database</connection-url>
         <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
         <user-name>JUDDI</user-name>
         <password>JUDDI</password>
         <min-pool-size>5</min-pool-size>
         <max-pool-size>20</max-pool-size>
         <idle-timeout-minutes>0</idle-timeout-minutes>
         <prepared-statement-cache-size>32</prepared-statement-cache-size>                  
   </local-tx-datasource>
  
 
   все остальное закоментировать 

3)Необходимо создать в директории jbossesb-4.2GA\lib\jbossesb.esb\message-store-sql\ 
дииректорию Oracle и в ней создать файл с именем create_database.sql который должен содержать такой скрипт 

Код

CREATE TABLE message
(
  uuid varchar(128) NOT NULL,
  type varchar(128) NOT NULL,
  message varchar(4000) NOT NULL,
  delivered varchar(10) NOT NULL,
  classification varchar(10),
  PRIMARY KEY  (uuid)
);


4)заменить в файле jbossesb-service.xml секцию <attribute name="SqlFiles"> на 
Код

<attribute name="SqlFiles">
         message-store-sql/Oracle/create_database.sql
</attribute>  

5)В файле jbossesb-4.2GA\lib\jbossesb.sar\jbossesb-properties.xml заменить секцию с именем dbstore на 
Код

<properties name="dbstore">
    <property name="org.jboss.soa.esb.persistence.db.connection.url"  value="jdbc:oracle:thin:@some_url:some_port:some_name_of_database"/>
    <property name="org.jboss.soa.esb.persistence.db.jdbc.driver"     value="oracle.jdbc.driver.OracleDriver"/>
    <property name="org.jboss.soa.esb.persistence.db.user"      value="JUDDI"/>
    <property name="org.jboss.soa.esb.persistence.db.pwd"       value="JUDDI"/>    
    <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
    <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
    <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
    <!--table managed by pool to test for valid connections - created by pool automatically -->
    <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
    <!-- # of milliseconds to timeout waiting for a connection from pool -->
    <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/> 
    <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/> 
    </properties>
    
6) Изминить секцию <local-tx-datasource> на 
Код

<local-tx-datasource>
         <jndi-name>juddiDB</jndi-name>
         <!-- use for server mode (over tcp) -->
         <connection-url>jdbc:oracle:thin:@some_url:some_port:some_name_of_database</connection-url>
         <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
         <user-name>JUDDI</user-name>
         <password>JUDDI</password>
         <min-pool-size>5</min-pool-size>
         <max-pool-size>20</max-pool-size>
         <idle-timeout-minutes>0</idle-timeout-minutes>
         <prepared-statement-cache-size>32</prepared-statement-cache-size>                 
 </local-tx-datasource>

другую секцию закоментировать
7)Прописать в jbossesb-4.2GA/install/deployment.properties 
org.jboss.esb.server.home=абсолютный путь к JBOSS_HOME (незьзя использовать в пути обратный слеш "\")



   

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)