【发布时间】:2014-07-02 18:18:59
【问题描述】:
我已经设置了ActiveMQ 并且能够生产和消费MapMessage。消息被存储在 Oracle 下的 ACTIVEMQ_MSGS 表中,直到被使用。数据库中的消费记录被删除后。
编写触发器并将数据手动推送到另一个表是一种选择。但我只是想和你核实一下,我是否可以设置任何属性来实现这一点。
我来自activemq.xml 的配置如下所示:
<bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost/XE"/>
<property name="username" value="USERNAME"/>
<property name="password" value="PASSWORD"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#oracle-ds"/>
</persistenceAdapter>
我的 Java 代码如下所示:
// Getting JMS connection from the server and starting it
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(Constants.ACTIVEMQ_URL);
connection = connectionFactory.createConnection();
connection.start();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Destination represents 'NIKHIL.QUEUE' on the JMS server.
Destination destination = session.createQueue("NIKHIL.QUEUE");
// MessageProducer is used for sending messages (as opposed to MessageConsumer which is used for receiving them)
producer = session.createProducer(destination);
//Message creation goes here...
【问题讨论】:
-
不知道为什么 StackOverFlow 会隐藏给出 -1 的人名。至少他们应该要求人们写一篇关于它的评论,可以匿名与我分享。请让我知道我的问题有什么问题。谢谢! :-)
-
我认为他们这样做可能是因为您并没有真正提出真正的问题。你希望达到什么目标?你试过什么?什么没用?等等等等。
-
蒂姆,我想我所尝试的,我想到的方法以及我想要实现的目标在我的问题中得到了明确的分享。