JBoss hornetq SVN: r9336 - trunk/examples/javaee/mdb-cmt-tx-local.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 22:42:10 -0400 (Tue, 15 Jun 2010)
New Revision: 9336
Modified:
trunk/examples/javaee/mdb-cmt-tx-local/
Log:
svn:ignore change on example
Property changes on: trunk/examples/javaee/mdb-cmt-tx-local
___________________________________________________________________
Name: svn:ignore
+ build
14 years, 3 months
JBoss hornetq SVN: r9335 - trunk/docs.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 22:40:22 -0400 (Tue, 15 Jun 2010)
New Revision: 9335
Modified:
trunk/docs/README.html
Log:
fixing README
Modified: trunk/docs/README.html
===================================================================
--- trunk/docs/README.html 2010-06-16 01:38:25 UTC (rev 9334)
+++ trunk/docs/README.html 2010-06-16 02:40:22 UTC (rev 9335)
@@ -11,14 +11,14 @@
<br>
-<h2>28th May 2010</h2>
+<h2>15th June 2010</h2>
-These are the release notes for HornetQ 2.1.0 Final<br><br>
+These are the release notes for HornetQ 2.1.1 Final<br><br>
For full description of the contents please see the
-<a href="https://jira.jboss.org/secure/ReleaseNote.jspa?projectId=12310830&version...">HornetQ project JIRA</a>.<br><br>
+<a href="https://jira.jboss.org/secure/ConfigureReport.jspa?atl_token=2rfg6S5p_f&v...">HornetQ project JIRA</a>.<br><br>
-This release is a feature complete release for HornetQ 2.1.0<br>
+This release contains minor fixes required for the Application Server integration what would fix a few minor testcases.
<br>
14 years, 3 months
JBoss hornetq SVN: r9334 - trunk.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 21:38:25 -0400 (Tue, 15 Jun 2010)
New Revision: 9334
Modified:
trunk/build-maven.xml
Log:
Changing version on build-maven
Modified: trunk/build-maven.xml
===================================================================
--- trunk/build-maven.xml 2010-06-15 20:06:30 UTC (rev 9333)
+++ trunk/build-maven.xml 2010-06-16 01:38:25 UTC (rev 9334)
@@ -13,7 +13,7 @@
-->
<project default="upload" name="HornetQ">
- <property name="hornetq.version" value="2.1.0.Final"/>
+ <property name="hornetq.version" value="2.1.1.Final"/>
<property name="build.dir" value="build"/>
<property name="jars.dir" value="${build.dir}/jars"/>
14 years, 3 months
JBoss hornetq SVN: r9333 - trunk/src/main/org/hornetq/ra.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 16:06:30 -0400 (Tue, 15 Jun 2010)
New Revision: 9333
Modified:
trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java
Log:
fixing compilation errors
Modified: trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2010-06-15 20:00:45 UTC (rev 9332)
+++ trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2010-06-15 20:06:30 UTC (rev 9333)
@@ -1196,37 +1196,8 @@
raProperties.setUseLocalTx(localTx);
}
- /**
- * Get the use XA flag
- *
- * @return The value
- */
- public Boolean getUseXA()
- {
- if (HornetQResourceAdapter.trace)
- {
- HornetQResourceAdapter.log.trace("getUseXA()");
- }
- return raProperties.getUseXA();
- }
-
/**
- * Set the use XA flag
- *
- * @param xa The value
- */
- public void setUseXA(final Boolean xa)
- {
- if (HornetQResourceAdapter.trace)
- {
- HornetQResourceAdapter.log.trace("setUseXA(" + xa + ")");
- }
-
- raProperties.setUseXA(xa);
- }
-
- /**
* Indicates whether some other object is "equal to" this one.
*
* @param obj Object with which to compare
@@ -1368,10 +1339,13 @@
*/
protected void setup() throws HornetQException
{
+
+
defaultHornetQConnectionFactory = createHornetQConnectionFactory(raProperties);
sessionFactory = defaultHornetQConnectionFactory.getCoreFactory();
}
+
public HornetQConnectionFactory getDefaultHornetQConnectionFactory() throws ResourceException
{
if (!configured.getAndSet(true))
@@ -1410,13 +1384,13 @@
: new TransportConfiguration(backUpCOnnectorClassname,
backupConnectionParams);
- cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(transportConf, backup);
+ cf = HornetQJMSClient.createConnectionFactory(transportConf, backup);
}
else if (discoveryAddress != null)
{
Integer discoveryPort = overrideProperties.getDiscoveryPort() != null ? overrideProperties.getDiscoveryPort()
: getDiscoveryPort();
- cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort);
+ cf = HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort);
}
else
{
@@ -1425,6 +1399,7 @@
setParams(cf, overrideProperties);
return cf;
}
+
public Map<String, Object> overrideConnectionParameters(final Map<String, Object> connectionParams,
final Map<String, Object> overrideConnectionParams)
{
14 years, 3 months
JBoss hornetq SVN: r9332 - trunk/src/main/org/hornetq/ra.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 16:00:45 -0400 (Tue, 15 Jun 2010)
New Revision: 9332
Modified:
trunk/src/main/org/hornetq/ra/HornetQRAProperties.java
Log:
removing the non-used isXA property
Modified: trunk/src/main/org/hornetq/ra/HornetQRAProperties.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRAProperties.java 2010-06-15 19:50:12 UTC (rev 9331)
+++ trunk/src/main/org/hornetq/ra/HornetQRAProperties.java 2010-06-15 20:00:45 UTC (rev 9332)
@@ -41,9 +41,6 @@
/** The password */
private String password;
- /** Use XA */
- private Boolean useXA;
-
/** Use Local TX instead of XA */
private Boolean localTx = false;
@@ -172,53 +169,11 @@
}
-
- /**
- * Get the use XA flag
- * @return The value
- */
- public Boolean getUseXA()
- {
- if (HornetQRAProperties.trace)
- {
- HornetQRAProperties.log.trace("getUseXA()");
- }
-
- return useXA;
- }
-
- /**
- * Set the use XA flag
- * @param xa The value
- */
- public void setUseXA(final Boolean xa)
- {
- if (HornetQRAProperties.trace)
- {
- HornetQRAProperties.log.trace("setUseXA(" + xa + ")");
- }
-
- useXA = xa;
- }
-
- /**
- * Use XA for communication
- * @return The value
- */
- public boolean isUseXA()
- {
- if (HornetQRAProperties.trace)
- {
- HornetQRAProperties.log.trace("isUseXA()");
- }
-
- return useXA != null && useXA;
- }
@Override
public String toString()
{
- return "HornetQRAProperties[useXA=" + useXA + ", localTx=" + localTx +
+ return "HornetQRAProperties[localTx=" + localTx +
", userName=" + userName + ", password=" + password + "]";
}
}
14 years, 3 months
JBoss hornetq SVN: r9331 - trunk/src/config.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 15:50:12 -0400 (Tue, 15 Jun 2010)
New Revision: 9331
Modified:
trunk/src/config/ra.xml
Log:
removing the isXA (not used) property
Modified: trunk/src/config/ra.xml
===================================================================
--- trunk/src/config/ra.xml 2010-06-15 19:39:48 UTC (rev 9330)
+++ trunk/src/config/ra.xml 2010-06-15 19:50:12 UTC (rev 9331)
@@ -45,15 +45,9 @@
<config-property-type>java.lang.String</config-property-type>
<config-property-value>server-id=0</config-property-value>
</config-property>
- <config-property>
- <description>Use XA?</description>
- <config-property-name>UseXA</config-property-name>
- <config-property-type>java.lang.Boolean</config-property-type>
- <config-property-value>true</config-property-value>
- </config-property>
<!--
<config-property>
- <description>The method to use for locatingthe transactionmanager</description>
+ <description>The method to use for locating the transactionmanager</description>
<config-property-name>TransactionManagerLocatorMethod</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>getTm</config-property-value>
14 years, 3 months
JBoss hornetq SVN: r9330 - trunk/src/main/org/hornetq/ra.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 15:39:48 -0400 (Tue, 15 Jun 2010)
New Revision: 9330
Modified:
trunk/src/main/org/hornetq/ra/HornetQRAConnectionRequestInfo.java
trunk/src/main/org/hornetq/ra/HornetQRAManagedConnection.java
trunk/src/main/org/hornetq/ra/HornetQRASession.java
trunk/src/main/org/hornetq/ra/HornetQRAXAResource.java
Log:
fixing the RA
Modified: trunk/src/main/org/hornetq/ra/HornetQRAConnectionRequestInfo.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRAConnectionRequestInfo.java 2010-06-15 17:45:45 UTC (rev 9329)
+++ trunk/src/main/org/hornetq/ra/HornetQRAConnectionRequestInfo.java 2010-06-15 19:39:48 UTC (rev 9330)
@@ -43,9 +43,6 @@
/** The client id */
private String clientID;
- /** Use XA */
- private boolean useXA;
-
/** The type */
private final int type;
@@ -70,7 +67,6 @@
userName = prop.getUserName();
password = prop.getPassword();
clientID = prop.getClientID();
- useXA = prop.isUseXA();
this.type = type;
transacted = true;
acknowledgeMode = Session.AUTO_ACKNOWLEDGE;
@@ -138,7 +134,6 @@
{
clientID = prop.getClientID();
}
- useXA = prop.isUseXA();
}
/**
@@ -240,20 +235,6 @@
}
/**
- * Use XA communication
- * @return True if XA; otherwise false
- */
- public boolean isUseXA()
- {
- if (HornetQRAConnectionRequestInfo.trace)
- {
- HornetQRAConnectionRequestInfo.log.trace("isUseXA() " + useXA);
- }
-
- return useXA;
- }
-
- /**
* Use transactions
* @return True if transacted; otherwise false
*/
@@ -305,7 +286,6 @@
return Util.compare(userName, you.getUserName()) && Util.compare(password, you.getPassword()) &&
Util.compare(clientID, you.getClientID()) &&
type == you.getType() &&
- useXA == you.isUseXA() &&
transacted == you.isTransacted() &&
acknowledgeMode == you.getAcknowledgeMode();
}
@@ -332,7 +312,6 @@
hash += 31 * hash + (userName != null ? userName.hashCode() : 0);
hash += 31 * hash + (password != null ? password.hashCode() : 0);
hash += 31 * hash + Integer.valueOf(type).hashCode();
- hash += 31 * hash + (useXA ? 1 : 0);
hash += 31 * hash + (transacted ? 1 : 0);
hash += 31 * hash + Integer.valueOf(acknowledgeMode).hashCode();
@@ -343,7 +322,7 @@
public String toString()
{
return "HornetQRAConnectionRequestInfo[type=" + type +
- ", useXA=" + useXA + ", transacted=" + transacted + ", acknowledgeMode=" + acknowledgeMode +
+ ", transacted=" + transacted + ", acknowledgeMode=" + acknowledgeMode +
", clientID=" + clientID + ", userName=" + userName + ", password=" + password + "]";
}
}
Modified: trunk/src/main/org/hornetq/ra/HornetQRAManagedConnection.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRAManagedConnection.java 2010-06-15 17:45:45 UTC (rev 9329)
+++ trunk/src/main/org/hornetq/ra/HornetQRAManagedConnection.java 2010-06-15 19:39:48 UTC (rev 9330)
@@ -27,18 +27,13 @@
import javax.jms.ExceptionListener;
import javax.jms.JMSException;
import javax.jms.QueueConnection;
-import javax.jms.QueueSession;
import javax.jms.ResourceAllocationException;
import javax.jms.Session;
import javax.jms.TopicConnection;
-import javax.jms.TopicSession;
import javax.jms.XAConnection;
import javax.jms.XAQueueConnection;
-import javax.jms.XAQueueSession;
import javax.jms.XASession;
import javax.jms.XATopicConnection;
-import javax.jms.XATopicSession;
-import javax.resource.NotSupportedException;
import javax.resource.ResourceException;
import javax.resource.spi.ConnectionEvent;
import javax.resource.spi.ConnectionEventListener;
@@ -99,20 +94,10 @@
// Physical JMS connection stuff
private Connection connection;
- private XAConnection xaConnection;
-
private Session session;
- private TopicSession topicSession;
-
- private QueueSession queueSession;
-
private XASession xaSession;
- private XATopicSession xaTopicSession;
-
- private XAQueueSession xaQueueSession;
-
private XAResource xaResource;
private final TransactionManager tm;
@@ -146,13 +131,8 @@
handles = Collections.synchronizedSet(new HashSet<HornetQRASession>());
connection = null;
- xaConnection = null;
session = null;
- topicSession = null;
- queueSession = null;
xaSession = null;
- xaTopicSession = null;
- xaQueueSession = null;
xaResource = null;
try
@@ -223,11 +203,6 @@
try
{
- if (xaConnection != null)
- {
- xaConnection.stop();
- }
-
if (connection != null)
{
connection.stop();
@@ -257,7 +232,7 @@
HornetQRAManagedConnection.log.trace("destroy()");
}
- if (isDestroyed.get() || xaConnection == null && connection == null)
+ if (isDestroyed.get() || connection == null)
{
return;
}
@@ -266,14 +241,7 @@
try
{
- if (xaConnection != null)
- {
- xaConnection.setExceptionListener(null);
- }
- else
- {
- connection.setExceptionListener(null);
- }
+ connection.setExceptionListener(null);
}
catch (JMSException e)
{
@@ -286,26 +254,6 @@
{
try
{
- if (topicSession != null)
- {
- topicSession.close();
- }
-
- if (xaTopicSession != null)
- {
- xaTopicSession.close();
- }
-
- if (queueSession != null)
- {
- queueSession.close();
- }
-
- if (xaQueueSession != null)
- {
- xaQueueSession.close();
- }
-
if (session != null)
{
session.close();
@@ -325,11 +273,6 @@
{
connection.close();
}
-
- if (xaConnection != null)
- {
- xaConnection.close();
- }
}
catch (Throwable e)
{
@@ -357,6 +300,8 @@
inManagedTx = false;
+ inManagedTx = false;
+
// I'm recreating the lock object when we return to the pool
// because it looks too nasty to expect the connection handle
// to unlock properly in certain race conditions
@@ -515,29 +460,13 @@
HornetQRAManagedConnection.log.trace("getXAResource()");
}
- if (xaConnection == null)
- {
- throw new NotSupportedException("Non XA transaction not supported");
- }
-
//
// Spec says a mc must allways return the same XA resource,
// so we cache it.
//
if (xaResource == null)
{
- if (xaTopicSession != null)
- {
- xaResource = xaTopicSession.getXAResource();
- }
- else if (xaQueueSession != null)
- {
- xaResource = xaQueueSession.getXAResource();
- }
- else
- {
xaResource = xaSession.getXAResource();
- }
}
if (HornetQRAManagedConnection.trace)
@@ -644,14 +573,7 @@
try
{
- if (xaConnection != null)
- {
- xaConnection.setExceptionListener(null);
- }
- else
- {
- connection.setExceptionListener(null);
- }
+ connection.setExceptionListener(null);
}
catch (JMSException e)
{
@@ -663,72 +585,28 @@
}
/**
- * Is managed connection running in XA mode
- * @return True if XA; otherwise false
+ * Get the session for this connection.
+ * @return The session
+ * @throws JMSException
*/
- protected boolean isXA()
+ protected Session getSession() throws JMSException
{
- if (HornetQRAManagedConnection.trace)
+ if (xaResource != null && inManagedTx)
{
- HornetQRAManagedConnection.log.trace("isXA()");
- }
-
- return xaConnection != null;
- }
-
- /**
- * Get the XA session for this connection.
- * @return The XA session
- */
- protected XASession getXASession()
- {
- if (HornetQRAManagedConnection.trace)
- {
- HornetQRAManagedConnection.log.trace("getXASession()");
- }
-
- if (isXA())
- {
- if (xaTopicSession != null)
+ if (HornetQRAManagedConnection.trace)
{
- return xaTopicSession;
+ HornetQRAManagedConnection.log.trace("getSession() -> XA session " + xaSession.getSession());
}
- else if (xaQueueSession != null)
- {
- return xaQueueSession;
- }
- else
- {
- return xaSession;
- }
- }
- else
- {
- return null;
- }
- }
- /**
- * Get the session for this connection.
- * @return The session
- */
- protected Session getSession()
- {
- if (HornetQRAManagedConnection.trace)
- {
- HornetQRAManagedConnection.log.trace("getSession()");
- }
-
- if (topicSession != null)
- {
- return topicSession;
- }
- else if (queueSession != null)
- {
- return queueSession;
- }
+ return xaSession.getSession();
+ }
else
{
+ if (HornetQRAManagedConnection.trace)
+ {
+ HornetQRAManagedConnection.log.trace("getSession() -> session " + xaSession.getSession());
+ }
+
return session;
}
}
@@ -836,11 +714,6 @@
{
connection.start();
}
-
- if (xaConnection != null)
- {
- xaConnection.start();
- }
}
/**
@@ -854,11 +727,6 @@
HornetQRAManagedConnection.log.trace("stop()");
}
- if (xaConnection != null)
- {
- xaConnection.stop();
- }
-
if (connection != null)
{
connection.stop();
@@ -893,109 +761,55 @@
try
{
boolean transacted = cri.isTransacted();
- int acknowledgeMode = Session.AUTO_ACKNOWLEDGE;
-
+ int acknowledgeMode = Session.AUTO_ACKNOWLEDGE;
+
if (cri.getType() == HornetQRAConnectionFactory.TOPIC_CONNECTION)
{
- if (cri.isUseXA())
+ if (userName != null && password != null)
{
- if (userName != null && password != null)
- {
- xaConnection = mcf.getHornetQConnectionFactory().createXATopicConnection(userName, password);
- }
- else
- {
- xaConnection = mcf.getHornetQConnectionFactory().createXATopicConnection();
- }
-
- xaConnection.setExceptionListener(this);
-
- xaTopicSession = ((XATopicConnection)xaConnection).createXATopicSession();
- topicSession = xaTopicSession.getTopicSession();
+ connection = mcf.getHornetQConnectionFactory().createXATopicConnection(userName, password);
}
else
{
- if (userName != null && password != null)
- {
- connection = mcf.getHornetQConnectionFactory().createTopicConnection(userName, password);
- }
- else
- {
- connection = mcf.getHornetQConnectionFactory().createTopicConnection();
- }
+ connection = mcf.getHornetQConnectionFactory().createXATopicConnection();
+ }
- connection.setExceptionListener(this);
+ connection.setExceptionListener(this);
- topicSession = ((TopicConnection)connection).createTopicSession(transacted, acknowledgeMode);
- }
+ xaSession = ((XATopicConnection)connection).createXATopicSession();
+ session = ((TopicConnection)connection).createTopicSession(transacted, acknowledgeMode);
}
else if (cri.getType() == HornetQRAConnectionFactory.QUEUE_CONNECTION)
{
- if (cri.isUseXA())
+ if (userName != null && password != null)
{
- if (userName != null && password != null)
- {
- xaConnection = mcf.getHornetQConnectionFactory().createXAQueueConnection(userName, password);
- }
- else
- {
- xaConnection = mcf.getHornetQConnectionFactory().createXAQueueConnection();
- }
-
- xaConnection.setExceptionListener(this);
-
- xaQueueSession = ((XAQueueConnection)xaConnection).createXAQueueSession();
- queueSession = xaQueueSession.getQueueSession();
+ connection = mcf.getHornetQConnectionFactory().createXAQueueConnection(userName, password);
}
else
{
- if (userName != null && password != null)
- {
- connection = mcf.getHornetQConnectionFactory().createQueueConnection(userName, password);
- }
- else
- {
- connection = mcf.getHornetQConnectionFactory().createQueueConnection();
- }
+ connection = mcf.getHornetQConnectionFactory().createXAQueueConnection();
+ }
- connection.setExceptionListener(this);
+ connection.setExceptionListener(this);
- queueSession = ((QueueConnection)connection).createQueueSession(transacted, acknowledgeMode);
- }
+ xaSession = ((XAQueueConnection)connection).createXAQueueSession();
+ session = ((QueueConnection)connection).createQueueSession(transacted, acknowledgeMode);
}
else
{
- if (cri.isUseXA())
+ if (userName != null && password != null)
{
- if (userName != null && password != null)
- {
- xaConnection = mcf.getHornetQConnectionFactory().createXAConnection(userName, password);
- }
- else
- {
- xaConnection = mcf.getHornetQConnectionFactory().createXAConnection();
- }
-
- xaConnection.setExceptionListener(this);
-
- xaSession = xaConnection.createXASession();
- session = xaSession.getSession();
+ connection = mcf.getHornetQConnectionFactory().createXAConnection(userName, password);
}
else
{
- if (userName != null && password != null)
- {
- connection = mcf.getHornetQConnectionFactory().createConnection(userName, password);
- }
- else
- {
- connection = mcf.getHornetQConnectionFactory().createConnection();
- }
+ connection = mcf.getHornetQConnectionFactory().createXAConnection();
+ }
- connection.setExceptionListener(this);
+ connection.setExceptionListener(this);
- session = connection.createSession(transacted, acknowledgeMode);
- }
+ xaSession = ((XAConnection)connection).createXASession();
+ session = connection.createSession(transacted, acknowledgeMode);
}
}
catch (JMSException je)
Modified: trunk/src/main/org/hornetq/ra/HornetQRASession.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRASession.java 2010-06-15 17:45:45 UTC (rev 9329)
+++ trunk/src/main/org/hornetq/ra/HornetQRASession.java 2010-06-15 19:39:48 UTC (rev 9330)
@@ -47,6 +47,7 @@
import javax.jms.XAQueueSession;
import javax.jms.XASession;
import javax.jms.XATopicSession;
+import javax.resource.ResourceException;
import javax.resource.spi.ConnectionEvent;
import javax.transaction.xa.XAResource;
@@ -1214,9 +1215,7 @@
{
lock();
- XASession session = getXASessionInternal();
-
- return session.getXAResource();
+ return getXAResourceInternal();
}
catch (Throwable t)
{
@@ -1551,26 +1550,35 @@
}
/**
- * Get the XA session and ensure that it is open
- * @return The session
+ * Get the XA resource and ensure that it is open
+ * @return The XA Resource
* @exception JMSException Thrown if an error occurs
* @exception IllegalStateException The session is closed
*/
- XASession getXASessionInternal() throws JMSException
+ XAResource getXAResourceInternal() throws JMSException
{
if (mc == null)
{
throw new IllegalStateException("The session is closed");
}
- XASession session = mc.getXASession();
+ try
+ {
+ XAResource xares = mc.getXAResource();
- if (HornetQRASession.trace)
+ if (HornetQRASession.trace)
+ {
+ HornetQRASession.log.trace("getXAResourceInternal " + xares + " for " + this);
+ }
+
+ return xares;
+ }
+ catch (ResourceException e)
{
- HornetQRASession.log.trace("getXASessionInternal " + session + " for " + this);
+ JMSException jmse = new JMSException("Unable to get XA Resource");
+ jmse.initCause(e);
+ throw jmse;
}
-
- return session;
}
/**
Modified: trunk/src/main/org/hornetq/ra/HornetQRAXAResource.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRAXAResource.java 2010-06-15 17:45:45 UTC (rev 9329)
+++ trunk/src/main/org/hornetq/ra/HornetQRAXAResource.java 2010-06-15 19:39:48 UTC (rev 9330)
@@ -172,6 +172,8 @@
}
finally
{
+ managedConnection.setInManagedTx(true);
+ managedConnection.setInManagedTx(false);
managedConnection.unlock();
}
}
14 years, 3 months
JBoss hornetq SVN: r9329 - trunk/src/config.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 13:45:45 -0400 (Tue, 15 Jun 2010)
New Revision: 9329
Modified:
trunk/src/config/ra.xml
Log:
Reverting RA to use a single Session
(Temporary change, this will probably go away)
Modified: trunk/src/config/ra.xml
===================================================================
--- trunk/src/config/ra.xml 2010-06-15 17:43:54 UTC (rev 9328)
+++ trunk/src/config/ra.xml 2010-06-15 17:45:45 UTC (rev 9329)
@@ -45,9 +45,15 @@
<config-property-type>java.lang.String</config-property-type>
<config-property-value>server-id=0</config-property-value>
</config-property>
+ <config-property>
+ <description>Use XA?</description>
+ <config-property-name>UseXA</config-property-name>
+ <config-property-type>java.lang.Boolean</config-property-type>
+ <config-property-value>true</config-property-value>
+ </config-property>
<!--
<config-property>
- <description>The method to use for locating the transactionmanager</description>
+ <description>The method to use for locatingthe transactionmanager</description>
<config-property-name>TransactionManagerLocatorMethod</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>getTm</config-property-value>
14 years, 3 months
JBoss hornetq SVN: r9328 - trunk/src/main/org/hornetq/ra.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2010-06-15 13:43:54 -0400 (Tue, 15 Jun 2010)
New Revision: 9328
Modified:
trunk/src/main/org/hornetq/ra/HornetQRAConnectionRequestInfo.java
trunk/src/main/org/hornetq/ra/HornetQRALocalTransaction.java
trunk/src/main/org/hornetq/ra/HornetQRAManagedConnection.java
trunk/src/main/org/hornetq/ra/HornetQRAProperties.java
trunk/src/main/org/hornetq/ra/HornetQRASession.java
trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java
Log:
Reverting RA to use a single Session
Modified: trunk/src/main/org/hornetq/ra/HornetQRAConnectionRequestInfo.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRAConnectionRequestInfo.java 2010-06-15 16:37:03 UTC (rev 9327)
+++ trunk/src/main/org/hornetq/ra/HornetQRAConnectionRequestInfo.java 2010-06-15 17:43:54 UTC (rev 9328)
@@ -43,6 +43,9 @@
/** The client id */
private String clientID;
+ /** Use XA */
+ private boolean useXA;
+
/** The type */
private final int type;
@@ -67,6 +70,7 @@
userName = prop.getUserName();
password = prop.getPassword();
clientID = prop.getClientID();
+ useXA = prop.isUseXA();
this.type = type;
transacted = true;
acknowledgeMode = Session.AUTO_ACKNOWLEDGE;
@@ -134,6 +138,7 @@
{
clientID = prop.getClientID();
}
+ useXA = prop.isUseXA();
}
/**
@@ -235,6 +240,20 @@
}
/**
+ * Use XA communication
+ * @return True if XA; otherwise false
+ */
+ public boolean isUseXA()
+ {
+ if (HornetQRAConnectionRequestInfo.trace)
+ {
+ HornetQRAConnectionRequestInfo.log.trace("isUseXA() " + useXA);
+ }
+
+ return useXA;
+ }
+
+ /**
* Use transactions
* @return True if transacted; otherwise false
*/
@@ -286,6 +305,7 @@
return Util.compare(userName, you.getUserName()) && Util.compare(password, you.getPassword()) &&
Util.compare(clientID, you.getClientID()) &&
type == you.getType() &&
+ useXA == you.isUseXA() &&
transacted == you.isTransacted() &&
acknowledgeMode == you.getAcknowledgeMode();
}
@@ -312,6 +332,7 @@
hash += 31 * hash + (userName != null ? userName.hashCode() : 0);
hash += 31 * hash + (password != null ? password.hashCode() : 0);
hash += 31 * hash + Integer.valueOf(type).hashCode();
+ hash += 31 * hash + (useXA ? 1 : 0);
hash += 31 * hash + (transacted ? 1 : 0);
hash += 31 * hash + Integer.valueOf(acknowledgeMode).hashCode();
@@ -322,7 +343,7 @@
public String toString()
{
return "HornetQRAConnectionRequestInfo[type=" + type +
- ", transacted=" + transacted + ", acknowledgeMode=" + acknowledgeMode +
+ ", useXA=" + useXA + ", transacted=" + transacted + ", acknowledgeMode=" + acknowledgeMode +
", clientID=" + clientID + ", userName=" + userName + ", password=" + password + "]";
}
}
Modified: trunk/src/main/org/hornetq/ra/HornetQRALocalTransaction.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRALocalTransaction.java 2010-06-15 16:37:03 UTC (rev 9327)
+++ trunk/src/main/org/hornetq/ra/HornetQRALocalTransaction.java 2010-06-15 17:43:54 UTC (rev 9328)
@@ -62,7 +62,7 @@
HornetQRALocalTransaction.log.trace("begin()");
}
- mc.setInManagedTx(true);
+ // mc.setInManagedTx(true);
}
/**
@@ -90,7 +90,7 @@
}
finally
{
- mc.setInManagedTx(false);
+ //mc.setInManagedTx(false);
mc.unlock();
}
}
@@ -120,7 +120,7 @@
}
finally
{
- mc.setInManagedTx(false);
+ //mc.setInManagedTx(false);
mc.unlock();
}
}
Modified: trunk/src/main/org/hornetq/ra/HornetQRAManagedConnection.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRAManagedConnection.java 2010-06-15 16:37:03 UTC (rev 9327)
+++ trunk/src/main/org/hornetq/ra/HornetQRAManagedConnection.java 2010-06-15 17:43:54 UTC (rev 9328)
@@ -26,12 +26,19 @@
import javax.jms.Connection;
import javax.jms.ExceptionListener;
import javax.jms.JMSException;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
import javax.jms.ResourceAllocationException;
import javax.jms.Session;
+import javax.jms.TopicConnection;
+import javax.jms.TopicSession;
import javax.jms.XAConnection;
import javax.jms.XAQueueConnection;
+import javax.jms.XAQueueSession;
import javax.jms.XASession;
import javax.jms.XATopicConnection;
+import javax.jms.XATopicSession;
+import javax.resource.NotSupportedException;
import javax.resource.ResourceException;
import javax.resource.spi.ConnectionEvent;
import javax.resource.spi.ConnectionEventListener;
@@ -92,11 +99,20 @@
// Physical JMS connection stuff
private Connection connection;
- // auto-commit session, used outside XA or Local transaction
+ private XAConnection xaConnection;
+
private Session session;
+ private TopicSession topicSession;
+
+ private QueueSession queueSession;
+
private XASession xaSession;
+ private XATopicSession xaTopicSession;
+
+ private XAQueueSession xaQueueSession;
+
private XAResource xaResource;
private final TransactionManager tm;
@@ -130,8 +146,13 @@
handles = Collections.synchronizedSet(new HashSet<HornetQRASession>());
connection = null;
+ xaConnection = null;
session = null;
+ topicSession = null;
+ queueSession = null;
xaSession = null;
+ xaTopicSession = null;
+ xaQueueSession = null;
xaResource = null;
try
@@ -202,6 +223,11 @@
try
{
+ if (xaConnection != null)
+ {
+ xaConnection.stop();
+ }
+
if (connection != null)
{
connection.stop();
@@ -231,7 +257,7 @@
HornetQRAManagedConnection.log.trace("destroy()");
}
- if (isDestroyed.get() || connection == null)
+ if (isDestroyed.get() || xaConnection == null && connection == null)
{
return;
}
@@ -240,7 +266,14 @@
try
{
- connection.setExceptionListener(null);
+ if (xaConnection != null)
+ {
+ xaConnection.setExceptionListener(null);
+ }
+ else
+ {
+ connection.setExceptionListener(null);
+ }
}
catch (JMSException e)
{
@@ -253,6 +286,26 @@
{
try
{
+ if (topicSession != null)
+ {
+ topicSession.close();
+ }
+
+ if (xaTopicSession != null)
+ {
+ xaTopicSession.close();
+ }
+
+ if (queueSession != null)
+ {
+ queueSession.close();
+ }
+
+ if (xaQueueSession != null)
+ {
+ xaQueueSession.close();
+ }
+
if (session != null)
{
session.close();
@@ -272,10 +325,15 @@
{
connection.close();
}
+
+ if (xaConnection != null)
+ {
+ xaConnection.close();
+ }
}
catch (Throwable e)
{
- throw new ResourceException("Could not properly close the transactedSession and connection", e);
+ throw new ResourceException("Could not properly close the session and connection", e);
}
}
@@ -330,7 +388,7 @@
throw new IllegalStateException("ManagedConnection in an illegal state");
}
}
-
+
public void checkTransactionActive() throws JMSException
{
// don't bother looking at the transaction if there's an active XID
@@ -360,6 +418,7 @@
}
}
+
/**
* Aqquire a lock on the managed connection
*/
@@ -456,13 +515,29 @@
HornetQRAManagedConnection.log.trace("getXAResource()");
}
+ if (xaConnection == null)
+ {
+ throw new NotSupportedException("Non XA transaction not supported");
+ }
+
//
// Spec says a mc must allways return the same XA resource,
// so we cache it.
//
if (xaResource == null)
{
- xaResource = xaSession.getXAResource();
+ if (xaTopicSession != null)
+ {
+ xaResource = xaTopicSession.getXAResource();
+ }
+ else if (xaQueueSession != null)
+ {
+ xaResource = xaQueueSession.getXAResource();
+ }
+ else
+ {
+ xaResource = xaSession.getXAResource();
+ }
}
if (HornetQRAManagedConnection.trace)
@@ -569,7 +644,14 @@
try
{
- connection.setExceptionListener(null);
+ if (xaConnection != null)
+ {
+ xaConnection.setExceptionListener(null);
+ }
+ else
+ {
+ connection.setExceptionListener(null);
+ }
}
catch (JMSException e)
{
@@ -581,13 +663,74 @@
}
/**
+ * Is managed connection running in XA mode
+ * @return True if XA; otherwise false
+ */
+ protected boolean isXA()
+ {
+ if (HornetQRAManagedConnection.trace)
+ {
+ HornetQRAManagedConnection.log.trace("isXA()");
+ }
+
+ return xaConnection != null;
+ }
+
+ /**
+ * Get the XA session for this connection.
+ * @return The XA session
+ */
+ protected XASession getXASession()
+ {
+ if (HornetQRAManagedConnection.trace)
+ {
+ HornetQRAManagedConnection.log.trace("getXASession()");
+ }
+
+ if (isXA())
+ {
+ if (xaTopicSession != null)
+ {
+ return xaTopicSession;
+ }
+ else if (xaQueueSession != null)
+ {
+ return xaQueueSession;
+ }
+ else
+ {
+ return xaSession;
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
* Get the session for this connection.
* @return The session
- * @throws JMSException
*/
- protected Session getSession() throws JMSException
+ protected Session getSession()
{
- return session;
+ if (HornetQRAManagedConnection.trace)
+ {
+ HornetQRAManagedConnection.log.trace("getSession()");
+ }
+
+ if (topicSession != null)
+ {
+ return topicSession;
+ }
+ else if (queueSession != null)
+ {
+ return queueSession;
+ }
+ else
+ {
+ return session;
+ }
}
/**
@@ -693,6 +836,11 @@
{
connection.start();
}
+
+ if (xaConnection != null)
+ {
+ xaConnection.start();
+ }
}
/**
@@ -706,6 +854,11 @@
HornetQRAManagedConnection.log.trace("stop()");
}
+ if (xaConnection != null)
+ {
+ xaConnection.stop();
+ }
+
if (connection != null)
{
connection.stop();
@@ -744,51 +897,105 @@
if (cri.getType() == HornetQRAConnectionFactory.TOPIC_CONNECTION)
{
- if (userName != null && password != null)
+ if (cri.isUseXA())
{
- connection = mcf.getHornetQConnectionFactory().createXATopicConnection(userName, password);
+ if (userName != null && password != null)
+ {
+ xaConnection = mcf.getHornetQConnectionFactory().createXATopicConnection(userName, password);
+ }
+ else
+ {
+ xaConnection = mcf.getHornetQConnectionFactory().createXATopicConnection();
+ }
+
+ xaConnection.setExceptionListener(this);
+
+ xaTopicSession = ((XATopicConnection)xaConnection).createXATopicSession();
+ topicSession = xaTopicSession.getTopicSession();
}
else
{
- connection = mcf.getHornetQConnectionFactory().createXATopicConnection();
- }
+ if (userName != null && password != null)
+ {
+ connection = mcf.getHornetQConnectionFactory().createTopicConnection(userName, password);
+ }
+ else
+ {
+ connection = mcf.getHornetQConnectionFactory().createTopicConnection();
+ }
- connection.setExceptionListener(this);
+ connection.setExceptionListener(this);
- xaSession = ((XATopicConnection)connection).createXATopicSession();
- session = xaSession.getSession();
+ topicSession = ((TopicConnection)connection).createTopicSession(transacted, acknowledgeMode);
+ }
}
else if (cri.getType() == HornetQRAConnectionFactory.QUEUE_CONNECTION)
{
- if (userName != null && password != null)
+ if (cri.isUseXA())
{
- connection = mcf.getHornetQConnectionFactory().createXAQueueConnection(userName, password);
+ if (userName != null && password != null)
+ {
+ xaConnection = mcf.getHornetQConnectionFactory().createXAQueueConnection(userName, password);
+ }
+ else
+ {
+ xaConnection = mcf.getHornetQConnectionFactory().createXAQueueConnection();
+ }
+
+ xaConnection.setExceptionListener(this);
+
+ xaQueueSession = ((XAQueueConnection)xaConnection).createXAQueueSession();
+ queueSession = xaQueueSession.getQueueSession();
}
else
{
- connection = mcf.getHornetQConnectionFactory().createXAQueueConnection();
- }
+ if (userName != null && password != null)
+ {
+ connection = mcf.getHornetQConnectionFactory().createQueueConnection(userName, password);
+ }
+ else
+ {
+ connection = mcf.getHornetQConnectionFactory().createQueueConnection();
+ }
- connection.setExceptionListener(this);
+ connection.setExceptionListener(this);
- xaSession = ((XAQueueConnection)connection).createXAQueueSession();
- session = xaSession.getSession();
+ queueSession = ((QueueConnection)connection).createQueueSession(transacted, acknowledgeMode);
+ }
}
else
{
- if (userName != null && password != null)
+ if (cri.isUseXA())
{
- connection = mcf.getHornetQConnectionFactory().createXAConnection(userName, password);
+ if (userName != null && password != null)
+ {
+ xaConnection = mcf.getHornetQConnectionFactory().createXAConnection(userName, password);
+ }
+ else
+ {
+ xaConnection = mcf.getHornetQConnectionFactory().createXAConnection();
+ }
+
+ xaConnection.setExceptionListener(this);
+
+ xaSession = xaConnection.createXASession();
+ session = xaSession.getSession();
}
else
{
- connection = mcf.getHornetQConnectionFactory().createXAConnection();
- }
+ if (userName != null && password != null)
+ {
+ connection = mcf.getHornetQConnectionFactory().createConnection(userName, password);
+ }
+ else
+ {
+ connection = mcf.getHornetQConnectionFactory().createConnection();
+ }
- connection.setExceptionListener(this);
+ connection.setExceptionListener(this);
- xaSession = ((XAConnection)connection).createXASession();
- session = xaSession.getSession();
+ session = connection.createSession(transacted, acknowledgeMode);
+ }
}
}
catch (JMSException je)
@@ -796,31 +1003,10 @@
throw new ResourceException(je.getMessage(), je);
}
}
-
- private boolean isManagedTx()
- {
- return inManagedTx || isXA();
- }
-
- /**
- * @return
- * @throws SystemException
- */
- private boolean isXA()
- {
- try
- {
- return (tm != null && tm.getTransaction() != null);
- }
- catch (Exception e)
- {
- log.warn(e.getMessage(), e);
- return false;
- }
- }
-
+
protected void setInManagedTx(boolean inManagedTx)
{
this.inManagedTx = inManagedTx;
}
+
}
Modified: trunk/src/main/org/hornetq/ra/HornetQRAProperties.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRAProperties.java 2010-06-15 16:37:03 UTC (rev 9327)
+++ trunk/src/main/org/hornetq/ra/HornetQRAProperties.java 2010-06-15 17:43:54 UTC (rev 9328)
@@ -41,6 +41,9 @@
/** The password */
private String password;
+ /** Use XA */
+ private Boolean useXA;
+
/** Use Local TX instead of XA */
private Boolean localTx = false;
@@ -169,11 +172,53 @@
}
+
+ /**
+ * Get the use XA flag
+ * @return The value
+ */
+ public Boolean getUseXA()
+ {
+ if (HornetQRAProperties.trace)
+ {
+ HornetQRAProperties.log.trace("getUseXA()");
+ }
+
+ return useXA;
+ }
+
+ /**
+ * Set the use XA flag
+ * @param xa The value
+ */
+ public void setUseXA(final Boolean xa)
+ {
+ if (HornetQRAProperties.trace)
+ {
+ HornetQRAProperties.log.trace("setUseXA(" + xa + ")");
+ }
+
+ useXA = xa;
+ }
+
+ /**
+ * Use XA for communication
+ * @return The value
+ */
+ public boolean isUseXA()
+ {
+ if (HornetQRAProperties.trace)
+ {
+ HornetQRAProperties.log.trace("isUseXA()");
+ }
+
+ return useXA != null && useXA;
+ }
@Override
public String toString()
{
- return "HornetQRAProperties[localTx=" + localTx +
+ return "HornetQRAProperties[useXA=" + useXA + ", localTx=" + localTx +
", userName=" + userName + ", password=" + password + "]";
}
}
Modified: trunk/src/main/org/hornetq/ra/HornetQRASession.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQRASession.java 2010-06-15 16:37:03 UTC (rev 9327)
+++ trunk/src/main/org/hornetq/ra/HornetQRASession.java 2010-06-15 17:43:54 UTC (rev 9328)
@@ -47,10 +47,7 @@
import javax.jms.XAQueueSession;
import javax.jms.XASession;
import javax.jms.XATopicSession;
-import javax.resource.ResourceException;
import javax.resource.spi.ConnectionEvent;
-import javax.transaction.RollbackException;
-import javax.transaction.SystemException;
import javax.transaction.xa.XAResource;
import org.hornetq.core.logging.Logger;
@@ -1217,7 +1214,9 @@
{
lock();
- return getXAResourceInternal();
+ XASession session = getXASessionInternal();
+
+ return session.getXAResource();
}
catch (Throwable t)
{
@@ -1552,35 +1551,26 @@
}
/**
- * Get the XA resource and ensure that it is open
- * @return The XA Resource
+ * Get the XA session and ensure that it is open
+ * @return The session
* @exception JMSException Thrown if an error occurs
* @exception IllegalStateException The session is closed
*/
- XAResource getXAResourceInternal() throws JMSException
+ XASession getXASessionInternal() throws JMSException
{
if (mc == null)
{
throw new IllegalStateException("The session is closed");
}
- try
- {
- XAResource xares = mc.getXAResource();
+ XASession session = mc.getXASession();
- if (HornetQRASession.trace)
- {
- HornetQRASession.log.trace("getXAResourceInternal " + xares + " for " + this);
- }
-
- return xares;
- }
- catch (ResourceException e)
+ if (HornetQRASession.trace)
{
- JMSException jmse = new JMSException("Unable to get XA Resource");
- jmse.initCause(e);
- throw jmse;
+ HornetQRASession.log.trace("getXASessionInternal " + session + " for " + this);
}
+
+ return session;
}
/**
Modified: trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2010-06-15 16:37:03 UTC (rev 9327)
+++ trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2010-06-15 17:43:54 UTC (rev 9328)
@@ -1196,8 +1196,37 @@
raProperties.setUseLocalTx(localTx);
}
+ /**
+ * Get the use XA flag
+ *
+ * @return The value
+ */
+ public Boolean getUseXA()
+ {
+ if (HornetQResourceAdapter.trace)
+ {
+ HornetQResourceAdapter.log.trace("getUseXA()");
+ }
+ return raProperties.getUseXA();
+ }
+
/**
+ * Set the use XA flag
+ *
+ * @param xa The value
+ */
+ public void setUseXA(final Boolean xa)
+ {
+ if (HornetQResourceAdapter.trace)
+ {
+ HornetQResourceAdapter.log.trace("setUseXA(" + xa + ")");
+ }
+
+ raProperties.setUseXA(xa);
+ }
+
+ /**
* Indicates whether some other object is "equal to" this one.
*
* @param obj Object with which to compare
@@ -1339,13 +1368,10 @@
*/
protected void setup() throws HornetQException
{
-
-
defaultHornetQConnectionFactory = createHornetQConnectionFactory(raProperties);
sessionFactory = defaultHornetQConnectionFactory.getCoreFactory();
}
-
public HornetQConnectionFactory getDefaultHornetQConnectionFactory() throws ResourceException
{
if (!configured.getAndSet(true))
@@ -1384,13 +1410,13 @@
: new TransportConfiguration(backUpCOnnectorClassname,
backupConnectionParams);
- cf = HornetQJMSClient.createConnectionFactory(transportConf, backup);
+ cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(transportConf, backup);
}
else if (discoveryAddress != null)
{
Integer discoveryPort = overrideProperties.getDiscoveryPort() != null ? overrideProperties.getDiscoveryPort()
: getDiscoveryPort();
- cf = HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort);
+ cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort);
}
else
{
@@ -1399,7 +1425,6 @@
setParams(cf, overrideProperties);
return cf;
}
-
public Map<String, Object> overrideConnectionParameters(final Map<String, Object> connectionParams,
final Map<String, Object> overrideConnectionParams)
{
14 years, 3 months
JBoss hornetq SVN: r9327 - projects/jopr-plugin/trunk/src/main/java/org/jboss/as/integration/hornetq/jopr.
by do-not-reply@jboss.org
Author: ataylor
Date: 2010-06-15 12:37:03 -0400 (Tue, 15 Jun 2010)
New Revision: 9327
Modified:
projects/jopr-plugin/trunk/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSTopicComponent.java
Log:
topic availibilty should always be up as it doesnt actually exist
Modified: projects/jopr-plugin/trunk/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSTopicComponent.java
===================================================================
--- projects/jopr-plugin/trunk/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSTopicComponent.java 2010-06-15 14:31:42 UTC (rev 9326)
+++ projects/jopr-plugin/trunk/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSTopicComponent.java 2010-06-15 16:37:03 UTC (rev 9327)
@@ -42,7 +42,7 @@
{
public AvailabilityType getAvailability()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return AvailabilityType.UP;
}
@Override
14 years, 3 months