User: starksm
Date: 01/12/13 05:32:05
Modified: src/main/org/jboss/jms/asf StdServerSession.java
StdServerSessionPool.java
Log:
Use trace level logging for the per message methods
Revision Changes Path
1.11 +90 -84 jboss/src/main/org/jboss/jms/asf/StdServerSession.java
Index: StdServerSession.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/jms/asf/StdServerSession.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- StdServerSession.java 2001/12/12 22:12:18 1.10
+++ StdServerSession.java 2001/12/13 13:32:05 1.11
@@ -31,7 +31,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Antman</a> .
* @author <a href="mailto:[EMAIL PROTECTED]">Jason Dillon</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Hiram Chirino</a> .
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public class StdServerSession
implements Runnable, ServerSession, MessageListener
@@ -40,39 +40,39 @@
* Instance logger.
*/
static Logger log = Logger.getLogger(StdServerSession.class);
-
+
/**
* The server session pool which we belong to.
*/
private StdServerSessionPool serverSessionPool;
-
+
/**
* Our session resource.
*/
private Session session;
-
+
/**
* Our XA session resource.
*/
private XASession xaSession;
-
+
/**
* The transaction manager that we will use for transactions.
*/
private TransactionManager tm;
-
+
/**
* Use the session's XAResource directly if we have an JBossMQ XASession.
* this allows us to get around the TX timeout problem when you have
* extensive message processing.
*/
private boolean useLocalTX;
-
+
/**
* The listener to delegate calls, to. In our case the container invoker.
*/
private MessageListener delegateListener;
-
+
/**
* Create a <tt>StdServerSession</tt> .
*
@@ -85,38 +85,37 @@
* @exception JMSException Description of Exception
*/
StdServerSession(final StdServerSessionPool pool,
- final Session session,
- final XASession xaSession,
- final MessageListener delegateListener,
- boolean useLocalTX)
- throws JMSException
+ final Session session,
+ final XASession xaSession,
+ final MessageListener delegateListener,
+ boolean useLocalTX)
+ throws JMSException
{
// assert pool != null
// assert session != null
-
+
this.serverSessionPool = pool;
this.session = session;
this.xaSession = xaSession;
this.delegateListener = delegateListener;
if( xaSession == null )
- useLocalTX = false;
+ useLocalTX = false;
this.useLocalTX = useLocalTX;
-
+
log.debug("initializing (pool, session, xaSession, useLocalTX): " +
- pool + ", " + session + ", " + xaSession + ", " + useLocalTX);
-
+ pool + ", " + session + ", " + xaSession + ", " + useLocalTX);
+
// Set out self as message listener
if (xaSession != null)
- xaSession.setMessageListener(this);
+ xaSession.setMessageListener(this);
else
- session.setMessageListener(this);
-
+ session.setMessageListener(this);
+
InitialContext ctx = null;
try
{
ctx = new InitialContext();
- tm = (TransactionManager)
- ctx.lookup(TransactionManagerService.JNDI_NAME);
+ tm = (TransactionManager) ctx.lookup(TransactionManagerService.JNDI_NAME);
}
catch (Exception e)
{
@@ -136,9 +135,9 @@
}
}
}
-
+
// --- Impl of JMS standard API
-
+
/**
* Returns the session. <p>
*
@@ -152,13 +151,13 @@
public Session getSession() throws JMSException
{
if (xaSession != null)
- return xaSession;
+ return xaSession;
else
- return session;
+ return session;
}
-
+
//--- Protected parts, used by other in the package
-
+
/**
* Runs in an own thread, basically calls the session.run(), it is up to the
* session to have been filled with messages and it will run against the
@@ -167,11 +166,12 @@
*/
public void run()
{
- log.debug("running...");
+ if( log.isTraceEnabled() )
+ log.trace("running...");
if (xaSession != null)
- xaSession.run();
+ xaSession.run();
else
- session.run();
+ session.run();
}
/**
* Will get called from session for each message stuffed into it.
@@ -185,20 +185,21 @@
* leaving it this way since it keeps the code simpler and that case should
* not be too common (JBossMQ provides XASessions).
*/
- public void onMessage(Message msg) {
+ public void onMessage(Message msg)
+ {
+ boolean trace = log.isTraceEnabled();
+ if( trace )
+ log.trace("onMessage running (pool, session, xaSession, useLocalTX): " +
+ ", " + session + ", " + xaSession + ", " + useLocalTX);
- log.info("running (pool, session, xaSession, useLocalTX): " +
- ", " + session + ", " + xaSession + ", " + useLocalTX);
-
// Used if run with useLocalTX if true
Xid localXid = null;
boolean localRollbackFlag=false;
-
// Used if run with useLocalTX if false
Transaction trans = null;
try
{
-
+
if (useLocalTX)
{
// Use JBossMQ One Phase Commit to commit the TX
@@ -206,34 +207,35 @@
XAResource res = xaSession.getXAResource();
res.start(localXid, XAResource.TMNOFLAGS);
- if (log.isTraceEnabled()) log.trace("Using optimized 1p commit to
control TX.");
-
+ if( trace )
+ log.trace("Using optimized 1p commit to control TX.");
}
else
{
-
+
// Use the TM to control the TX
tm.begin();
trans = tm.getTransaction();
-
+
if (xaSession != null)
{
XAResource res = xaSession.getXAResource();
trans.enlistResource(res);
- if (log.isTraceEnabled()) log.trace("XAResource '" + res + "'
enlisted.");
+ if( trace )
+ log.trace("XAResource '" + res + "' enlisted.");
}
}
//currentTransactionId = connection.spyXAResourceManager.startTx();
-
+
// run the session
//session.run();
- // Call delegate listener
- delegateListener.onMessage(msg);
+ // Call delegate listener
+ delegateListener.onMessage(msg);
}
catch (Exception e)
{
log.error("session failed to run; setting rollback only", e);
-
+
if (useLocalTX)
{
// Use JBossMQ One Phase Commit to commit the TX
@@ -241,12 +243,12 @@
}
else
{
-
// Mark for tollback TX via TM
try
{
// The transaction will be rolledback in the finally
- if (log.isTraceEnabled()) log.trace("Using TM to mark TX for
rollback.");
+ if( trace )
+ log.trace("Using TM to mark TX for rollback.");
trans.setRollbackOnly();
}
catch (Exception x)
@@ -254,7 +256,7 @@
log.error("failed to set rollback only", x);
}
}
-
+
}
finally
{
@@ -262,33 +264,37 @@
{
if (useLocalTX)
{
- if( localRollbackFlag == true ) {
- if (log.isTraceEnabled()) log.trace("Using optimized 1p
commit to rollback TX.");
-
- XAResource res = xaSession.getXAResource();
- res.end(localXid, XAResource.TMSUCCESS);
- res.rollback(localXid);
-
- } else {
- if (log.isTraceEnabled()) log.trace("Using optimized 1p
commit to commit TX.");
-
- XAResource res = xaSession.getXAResource();
- res.end(localXid, XAResource.TMSUCCESS);
- res.commit(localXid, true);
- }
-
+ if( localRollbackFlag == true )
+ {
+ if( trace )
+ log.trace("Using optimized 1p commit to rollback TX.");
+
+ XAResource res = xaSession.getXAResource();
+ res.end(localXid, XAResource.TMSUCCESS);
+ res.rollback(localXid);
+
+ }
+ else
+ {
+ if( trace )
+ log.trace("Using optimized 1p commit to commit TX.");
+
+ XAResource res = xaSession.getXAResource();
+ res.end(localXid, XAResource.TMSUCCESS);
+ res.commit(localXid, true);
+ }
}
else
{
- // Use the TM to commit the Tx
-
+ // Use the TM to commit the Tx
// Marked rollback
if (trans.getStatus() == Status.STATUS_MARKED_ROLLBACK)
{
- log.debug("Rolling back JMS transaction");
+ if( trace )
+ log.trace("Rolling back JMS transaction");
// actually roll it back
trans.rollback();
-
+
// NO XASession? then manually rollback.
// This is not so good but
// it's the best we can do if we have no XASession.
@@ -303,7 +309,8 @@
// This will happen if
// a) everything goes well
// b) app. exception was thrown
- if (log.isTraceEnabled()) log.trace("Commiting the JMS
transaction");
+ if( trace )
+ log.trace("Commiting the JMS transaction");
trans.commit();
// NO XASession? then manually commit. This is not so good but
@@ -313,17 +320,17 @@
session.commit();
}
}
- }
-
+ }
}
catch (Exception e)
{
log.error("failed to commit/rollback", e);
}
-
+
StdServerSession.this.recycle();
}
- if (log.isTraceEnabled()) log.trace("done");
+ if( trace )
+ log.trace("onMessage done");
}
/**
@@ -333,8 +340,9 @@
*/
public void start() throws JMSException
{
- log.debug("starting invokes on server session");
-
+ if( log.isTraceEnabled() )
+ log.trace("starting invokes on server session");
+
if (session != null)
{
try
@@ -350,7 +358,7 @@
throw new JMSException("No listener has been specified");
}
}
-
+
/**
* Called by the ServerSessionPool when the sessions should be closed.
*/
@@ -365,10 +373,10 @@
catch (Exception ignore)
{
}
-
+
session = null;
}
-
+
if (xaSession != null)
{
try
@@ -380,10 +388,10 @@
}
xaSession = null;
}
-
+
log.debug("closed");
}
-
+
/**
* This method is called by the ServerSessionPool when it is ready to be
* recycled intot the pool
@@ -392,8 +400,6 @@
{
serverSessionPool.recycle(this);
}
-
-
+
}
-
1.16 +11 -22 jboss/src/main/org/jboss/jms/asf/StdServerSessionPool.java
Index: StdServerSessionPool.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/jms/asf/StdServerSessionPool.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- StdServerSessionPool.java 2001/12/12 22:12:18 1.15
+++ StdServerSessionPool.java 2001/12/13 13:32:05 1.16
@@ -28,7 +28,7 @@
import javax.jms.XATopicConnection;
import javax.jms.XATopicSession;
-import org.apache.log4j.Category;
+import org.jboss.logging.Logger;
/**
* Implementation of ServerSessionPool. <p>
@@ -37,7 +37,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Antman</a> .
* @author <a href="mailto:[EMAIL PROTECTED]">Hiram Chirino</a> .
- * @version $Revision: 1.15 $
+ * @version $Revision: 1.16 $
*/
public class StdServerSessionPool
implements ServerSessionPool
@@ -56,7 +56,7 @@
/**
* Instance logger.
*/
- private final Category log = Category.getInstance(this.getClass());
+ private final Logger log = Logger.getLogger(this.getClass());
/**
* The size of the pool.
@@ -126,7 +126,7 @@
final boolean useLocalTX,
final MessageListener listener,
final int maxSession)
- throws JMSException
+ throws JMSException
{
this.con = con;
this.ack = ack;
@@ -175,7 +175,8 @@
*/
public ServerSession getServerSession() throws JMSException
{
- log.debug("getting a server session");
+ if( log.isTraceEnabled() )
+ log.trace("getting a server session");
ServerSession session = null;
try
@@ -212,8 +213,8 @@
}
// assert session != null
-
- log.debug("using server session: " + session);
+ if( log.isTraceEnabled() )
+ log.trace("using server session: " + session);
return session;
}
@@ -314,7 +315,8 @@
{
sessionPool.add(session);
sessionPool.notifyAll();
- log.debug("recycled server session: " + session);
+ if( log.isTraceEnabled() )
+ log.trace("recycled server session: " + session);
}
}
}
@@ -360,27 +362,14 @@
throw new JMSException("Connection was not reconizable: " + con);
}
-
-
// create the server session and add it to the pool - it is up to the
- // server session to set the listener
+ // server session to set the listener
StdServerSession serverSession = new StdServerSession(this, ses, xaSes,
listener, useLocalTX);
-
- // This might not be totaly spec compliant since it says that app
- // server should create as many message listeners its needs.
- //log.debug("setting session listener: " + listener);
- //if(xaSession
- //ses.setMessageListener(serverSession);
- //FIXME, it seems as if Sonic is using ites XaSession to do all work
- //if (xaSes != null)
- // xaSes.setMessageListener(serverSession);
-
sessionPool.add(serverSession);
numServerSessions++;
log.debug("added server session to the pool: " + serverSession);
}
}
}
-
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development