色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

activemq連接oracle

林國瑞1年前8瀏覽0評論

Apache ActiveMQ是一款支持消息傳輸協(xié)議的開源消息隊列。在進行開發(fā)項目時,經(jīng)常需要使用到消息隊列技術(shù),而ActiveMQ作為開源的消息隊列,很受開發(fā)者的歡迎。同時,Oracle數(shù)據(jù)庫也是現(xiàn)今很受歡迎的一款數(shù)據(jù)庫,本文將討論如何在ActiveMQ中連接Oracle數(shù)據(jù)庫。

在開始連接數(shù)據(jù)庫之前,需要先添加Oracle JDBC驅(qū)動。可以在官網(wǎng)上下載相應(yīng)的驅(qū)動包,然后將其放置在ActiveMQ的lib目錄下。下面是一個連接Oracle數(shù)據(jù)庫的配置示例:

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:ORCL" />
<property name="username" value="username" />
<property name="password" value="password" />
</bean>
<bean id="pooledConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616" />
</bean>
<bean id="ConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="10" />
<property name="connectionFactory" ref="pooledConnectionFactory" />
</bean>

在上述代碼中,dataSource是配置Oracle數(shù)據(jù)庫的數(shù)據(jù)源;pooledConnectionFactory是活躍MQ連接工廠;ConnectionFactory使用連接池,該池最大連接數(shù)為10。

在使用ActiveMQ連接Oracle數(shù)據(jù)庫時,可以使用JDBC方式或JNDI方式進行連接。下面分別介紹這兩種方式。

JDBC方式

JDBC即Java數(shù)據(jù)庫連接,是Java語言中用于操作關(guān)系型數(shù)據(jù)庫的API。使用JDBC的方式連接Oracle數(shù)據(jù)庫是常見的做法,其代碼如下:

<bean id="oracleJdbcPersistenceAdapter" class="org.apache.activemq.store.jdbc.JDBCPersistenceAdapter">
<property name="dataSource" ref="dataSource" />
<property name="useLock" value="true" />
<property name="adapterLockRemoveAge" value="1000" />
</bean>
<broker>
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#{dataSource}">
<adapter>
<oracleJdbcPersistenceAdapter />
</adapter>
</jdbcPersistenceAdapter>
</persistenceAdapter>
</broker>

在上述代碼中,使用了JDBC Persistence Adapter,其將ActiveMQ消息存儲在關(guān)系型數(shù)據(jù)庫中。在創(chuàng)建broker時,需要以相應(yīng)的Persistence Adapter作為參數(shù),作為將消息存儲至后臺的方式。

JNDI方式

JNDI是一種Java命名和目錄服務(wù),它允許應(yīng)用程序在分布式環(huán)境中找到和訪問命名和目錄服務(wù)。使用JNDI的方式連接Oracle數(shù)據(jù)庫,可以在對應(yīng)的配置文件中添加JNDI配置,如下:

<bean id="oracleDataSource" class="oracle.jdbc.pool.OracleDataSource">
<property name="connectionCachingEnabled" value="true" />
<property name="URL" value="#{brokerConfig.dataSource.url}" />
<property name="user" value="#{brokerConfig.dataSource.username}" />
<property name="password" value="#{brokerConfig.dataSource.password}" />
<property name="connectionCacheProperties">
<props>
<prop key="MinLimit">3</prop>
<prop key="MaxLimit">10</prop>
<prop key="InitialLimit">3</prop>
<prop key="ConnectionWaitTimeout">120</prop>
</props>
</property>
</bean>
<bean id="oracleConnectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616" />
<property name="userName" value="#{brokerConfig.brokerUser}" />
<property name="password" value="#{brokerConfig.brokerPassword}" />
<property name="useAsyncSend" value="true" />
<property name="trustedPackages" value="#{brokerConfig.trustedPackages}" />
</bean>
<jms:connection-factory id="jmsConnectionFactory" connection-factory="oracleConnectionFactory" jndi-lookup-name="ConnectionFactory" />
<bean id="jmsQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="TestQueue" />
</bean>
<jms:listener-container connection-factory="jmsConnectionFactory">
<jms:listener destination="jmsQueue" ref="jmsMessageReceiver" method="onMessage" />
</jms:listener-container>

在上述代碼中,使用了JNDI連接工廠 ActiveMQConnectionFactory,以及JMS相關(guān)配置。

綜上所述,ActiveMQ連接Oracle數(shù)據(jù)庫的方式主要分為JDBC方式和JNDI方式。無論哪種方式,都需要先添加Oracle JDBC驅(qū)動包,然后配置數(shù)據(jù)源,連接工廠和持久化適配器。實際應(yīng)用中,我們應(yīng)該根據(jù)具體的需求來選擇相應(yīng)的方式。