Modified: incubator/activemq/site/Persistence+Questions URL: http://svn.apache.org/viewcvs/incubator/activemq/site/Persistence%2BQuestions?rev=383851&r1=383850&r2=383851&view=diff ============================================================================== --- incubator/activemq/site/Persistence+Questions (original) +++ incubator/activemq/site/Persistence+Questions Tue Mar 7 03:47:01 2006 @@ -1,21 +1,274 @@ -Server returned HTTP response code: 500 for URL: http://docs.codehaus.org/rpc/xmlrpc com.openxource.unity.providers.confluence.ConfluencePageProviderImpl.getPage(ConfluencePageProviderImpl.java:78) - com.openxource.unity.beans.impl.UnityPageRendererImpl.getFragment(UnityPageRendererImpl.java:249) - com.openxource.unity.beans.impl.UnityPageRendererImpl.renderPage(UnityPageRendererImpl.java:155) - com.openxource.unity.servlets.ContentServlet.doGet(ContentServlet.java:69) - javax.servlet.http.HttpServlet.service(HttpServlet.java:689) - javax.servlet.http.HttpServlet.service(HttpServlet.java:802) - org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) - org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) - org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) - org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) - org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) - org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) - org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) - org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) - org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) - org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) - org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744) - org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674) - org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866) - org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) - java.lang.Thread.run(Thread.java:595) + + + + + + + ActiveMQ - Persistence Questions + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + +
+
+
+ + + + + +
+
+

+ Home +

+
+
+ +
+
+
+

Overview

+ + + + +

Utilities

+ + + + +

External Tools

+ + + + +

Related Projects

+ + + + +

Support

+ + + + +

Tools we use

+ +

+ +
+

Feeds

+ +
+
+
+
+ Print +
Persistence Questions
+
+ + +
+ +
+ +
+ +
+ +
+
+ +
Powered by Atlassian Confluence
+ +
+
+ Modified: incubator/activemq/site/QoS URL: http://svn.apache.org/viewcvs/incubator/activemq/site/QoS?rev=383851&r1=383850&r2=383851&view=diff ============================================================================== --- incubator/activemq/site/QoS (original) +++ incubator/activemq/site/QoS Tue Mar 7 03:47:01 2006 @@ -1,21 +1,285 @@ -Server returned HTTP response code: 503 for URL: http://docs.codehaus.org/rpc/xmlrpc com.openxource.unity.providers.confluence.ConfluencePageProviderImpl.getPage(ConfluencePageProviderImpl.java:78) - com.openxource.unity.beans.impl.UnityPageRendererImpl.getFragment(UnityPageRendererImpl.java:249) - com.openxource.unity.beans.impl.UnityPageRendererImpl.renderPage(UnityPageRendererImpl.java:155) - com.openxource.unity.servlets.ContentServlet.doGet(ContentServlet.java:69) - javax.servlet.http.HttpServlet.service(HttpServlet.java:689) - javax.servlet.http.HttpServlet.service(HttpServlet.java:802) - org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) - org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) - org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) - org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) - org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) - org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) - org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) - org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) - org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) - org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) - org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744) - org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674) - org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866) - org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) - java.lang.Thread.run(Thread.java:595) + + + + + + + ActiveMQ - QoS + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + +
+
+
+ + + + + +
+
+

+ Home +

+
+
+ +
+
+
+

Overview

+ + + + +

Utilities

+ + + + +

External Tools

+ + + + +

Related Projects

+ + + + +

Support

+ + + + +

Tools we use

+ +

+ +
+

Feeds

+ +
+
+
+
+ Print +
QoS
+
+ + +
+ +
+ +
+ + +

QoS is a MOM abbreviation of the term Quality of Service. There are many different kinds of messaging with different qualities of service such as

+ +
    +
  • topics versus queues
  • +
  • durable messaging versus reliable (some buffering takes place but if a consumer is down long enough the messages are discarded)
  • +
  • message timeout
  • +
+ + +

etc.

+
+ +
+
+ +
Powered by Atlassian Confluence
+ +
+
+ Modified: incubator/activemq/site/Replicated+Message+Store URL: http://svn.apache.org/viewcvs/incubator/activemq/site/Replicated%2BMessage%2BStore?rev=383851&r1=383850&r2=383851&view=diff ============================================================================== --- incubator/activemq/site/Replicated+Message+Store (original) +++ incubator/activemq/site/Replicated+Message+Store Tue Mar 7 03:47:01 2006 @@ -1,21 +1,317 @@ -Server returned HTTP response code: 500 for URL: http://docs.codehaus.org/rpc/xmlrpc com.openxource.unity.providers.confluence.ConfluencePageProviderImpl.getPage(ConfluencePageProviderImpl.java:78) - com.openxource.unity.beans.impl.UnityPageRendererImpl.getFragment(UnityPageRendererImpl.java:249) - com.openxource.unity.beans.impl.UnityPageRendererImpl.renderPage(UnityPageRendererImpl.java:155) - com.openxource.unity.servlets.ContentServlet.doGet(ContentServlet.java:69) - javax.servlet.http.HttpServlet.service(HttpServlet.java:689) - javax.servlet.http.HttpServlet.service(HttpServlet.java:802) - org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) - org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) - org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) - org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) - org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) - org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) - org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) - org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) - org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) - org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) - org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744) - org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674) - org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866) - org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) - java.lang.Thread.run(Thread.java:595) + + + + + + + ActiveMQ - Replicated Message Store + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + +
+
+
+ + + + + +
+
+

+ Home +

+
+
+ +
+
+
+

Overview

+ + + + +

Utilities

+ + + + +

External Tools

+ + + + +

Related Projects

+ + + + +

Support

+ + + + +

Tools we use

+ +

+ +
+

Feeds

+ +
+
+
+
+ Print +
Replicated Message Store
+
+ + +
+ +
+ +
+

If messages are stored on the hard drive of a broker or inside a single database; then you have a single point of failure with respect to the message persistence. If you lose the entire machine, disk or database, you have lost messages.

+ +

For some high end users, messages should never be lost as they could have a large impact on the business. These kinds of users often require some kind of DR stategy to support message replication so that they can loose an entire data centre and still not loose a message.

+ +

There are various solutions to the problem of reducing chance of message loss.

+ +

Use RAID disks

+ +

If you're using RAID disks striped sufficiently, you could just restart the machine - or move the disk to a new machine and restart the broker. This could be sufficient if you're a small business but if you've stringent DR requirements then if you loose a datacentre the RAID option is not a solution.

+ +

Clustered JDBC databases

+ +

Various databases like Oracle and MySQL support clustered databases; so we can use these databases with the JDBC MessageStore to get a clustered message store.

+ +

Use C-JDBC

+ +

If you don't have or can't afford a clustered database then you could use C-JDBC to replicate state across a number of physical datbases to avoid single point of failure and provide a DR solution.

+ +

SAN or shared network drive

+ +

If you use one of the file based persistence mechanisms, like Berkeley DB or JDBM, you could write to a SAN or shared network drive and in times of failure, start up a new broker using the files from the failed broker.

+ +

A clustered ActiveMQ MessageStore

+ +

Its on our development road map to build a custom MessageStore which uses a number of slaves per master MessageStore and each transaction commit is synchronized with the slaves before committing, to ensure that each slave is up to date with the master, for all committed transactions at any point in time. This will allow full high availability and failover using whatever persistence option is used (file, Berkeley BD, JDBC).

+ +

We expect this to be available by Q4 2005. If you want to track its progress watch issue AMQ-71

+
+
+ + +
+
+
+ +
Powered by Atlassian Confluence
+ +
+
+ Modified: incubator/activemq/site/Resource+Adapter URL: http://svn.apache.org/viewcvs/incubator/activemq/site/Resource%2BAdapter?rev=383851&r1=383850&r2=383851&view=diff ============================================================================== --- incubator/activemq/site/Resource+Adapter (original) +++ incubator/activemq/site/Resource+Adapter Tue Mar 7 03:47:01 2006 @@ -1,21 +1,338 @@ -Server returned HTTP response code: 500 for URL: http://docs.codehaus.org/rpc/xmlrpc com.openxource.unity.providers.confluence.ConfluencePageProviderImpl.getPage(ConfluencePageProviderImpl.java:78) - com.openxource.unity.beans.impl.UnityPageRendererImpl.getFragment(UnityPageRendererImpl.java:249) - com.openxource.unity.beans.impl.UnityPageRendererImpl.renderPage(UnityPageRendererImpl.java:155) - com.openxource.unity.servlets.ContentServlet.doGet(ContentServlet.java:69) - javax.servlet.http.HttpServlet.service(HttpServlet.java:689) - javax.servlet.http.HttpServlet.service(HttpServlet.java:802) - org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) - org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) - org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) - org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) - org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) - org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) - org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) - org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) - org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) - org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) - org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744) - org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674) - org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866) - org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) - java.lang.Thread.run(Thread.java:595) + + + + + + + ActiveMQ - Resource Adapter + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + +
+
+
+ + + + + +
+
+

+ Home +

+
+
+ +
+
+
+

Overview

+ + + + +

Utilities

+ + + + +

External Tools

+ + + + +

Related Projects

+ + + + +

Support

+ + + + +

Tools we use

+ +

+ +
+

Feeds

+ +
+
+
+
+ Print +
Resource Adapter
+
+ + +
+ +
+ +
+

Introduction

+ +

ActiveMQ includes a Java Connector Architecture (JCA) 1.5 Resource Adapter. JCA 1.5 defines the contract between an J2EE application server and external resources such as databases and messaging middleware. It allows the application server to efficiently pool connections, control transactions and manage security. The Resource Adapter allows ActiveMQ to be used from any J2EE 1.4 application server such as Geronimo 1.x, JBoss 4.x, and WebSphere 6.x.

+ +

Features

+ +
    +
  • Inbound connection delivers messages to MDBs via XA or local transactions.
  • +
  • Outbound connections support standard container pooling or can reuse the inbound connection/session to avoid XA.
  • +
  • JTA support: Can be enlisted in XA and local transactions.
  • +
  • XA transaction recovery via XAResource.recover() supported.
  • +
  • When used outside a JTA transaction, session transaction settings retain normal JMS semantics so that it be used by your web-app tier.
  • +
  • Can configure and start up embedded broker.
  • +
  • Can connect to external ActiveMQ broker or embedded broker.
  • +
  • Inbound message delivery supports fine grain control of concurrency and prefetching.
  • +
  • Batching so that multiple messages can be delivered within the same transaction for optimal performances.
  • +
+ + +

Downloading the RAR

+ +

For ActiveMQ 4.x you can download the rar from here.

+ +

Earlier releases of the RAR are available here

+ +

Nightly snapshot builds of the RAR are available here

+ +

Deployment Guides

+ + + + +

The use of an Embedded Broker

+ +

The ActiveMQ Resource Adapter can connect to a remote broker using any of the available transports, or it can start up an embedded broker. As described in the Resource Adapter Properties, you can enable an embedded broker using the BrokerXmlConfig property.

+ +
+
+
+ + +
+
+
+ +
Powered by Atlassian Confluence
+ +
+
+