Для того чтобы сохранять очередь сообщений в оракле, 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 (незьзя использовать в пути обратный слеш "\")
|