User: oberg
Date: 00/05/30 11:32:22
Modified: src/main/org/jboss/ejb/plugins
EntitySynchronizationInterceptor.java
LogInterceptor.java SecurityInterceptor.java
TxInterceptor.java
Log:
Major update. Too much to mention.
Revision Changes Path
1.4 +7 -7
jboss/src/main/org/jboss/ejb/plugins/EntitySynchronizationInterceptor.java
Index: EntitySynchronizationInterceptor.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/EntitySynchronizationInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EntitySynchronizationInterceptor.java 2000/05/12 11:43:57 1.3
+++ EntitySynchronizationInterceptor.java 2000/05/30 18:32:22 1.4
@@ -45,7 +45,7 @@
*
* @see <related>
* @author Rickard �berg ([EMAIL PROTECTED])
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class EntitySynchronizationInterceptor
extends AbstractInterceptor
@@ -101,7 +101,7 @@
}
synch.add(ctx);
- ctx.setTransaction(tx);
+ ((EntityEnterpriseContext)ctx).setTransaction(tx);
}
}
@@ -151,7 +151,7 @@
EntityEnterpriseContext entityCtx = (EntityEnterpriseContext)ctx;
- Transaction tx = ctx.getTransaction();
+ Transaction tx = entityCtx.getTransaction();
Transaction current = getContainer().getTransactionManager().getTransaction();
//DEBUG Logger.debug("TX:"+(current.getStatus() == Status.STATUS_ACTIVE));
@@ -162,10 +162,10 @@
if (tx != null && !tx.equals(current))
{
// Wait for other tx associated with ctx to finish
- while ((tx = ctx.getTransaction()) != null)
+ while ((tx = entityCtx.getTransaction()) != null)
{
// Release context temporarily
- ((EntityContainer)getContainer()).getInstanceCache().release(ctx);
+
((EntityContainer)getContainer()).getInstanceCache().release(entityCtx);
// Wait for tx to end
//DEBUG Logger.debug("Wait for "+ctx.getId()+":Current="+current+",
Tx="+tx);
@@ -182,7 +182,7 @@
{
try
{
- tx.wait(TIMEOUT); // This should be changed to a s
+ synch.wait(TIMEOUT); // This should be changed to a s
} catch (InterruptedException e)
{
throw new ServerException("Time out", e);
@@ -222,7 +222,7 @@
} else
{
// Entity was removed
- if (ctx.getTransaction() != null)
+ if (entityCtx.getTransaction() != null)
{
// Disassociate ctx with tx
deregister(entityCtx, current);
1.3 +30 -21 jboss/src/main/org/jboss/ejb/plugins/LogInterceptor.java
Index: LogInterceptor.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/LogInterceptor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LogInterceptor.java 2000/04/26 06:41:32 1.2
+++ LogInterceptor.java 2000/05/30 18:32:22 1.3
@@ -7,7 +7,7 @@
package org.jboss.ejb.plugins;
import java.lang.reflect.Method;
-import java.security.Principal;
+import java.rmi.RemoteException;
import java.util.Map;
import java.util.HashMap;
import java.util.Enumeration;
@@ -30,7 +30,7 @@
*
* @see <related>
* @author Rickard �berg ([EMAIL PROTECTED])
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class LogInterceptor
extends AbstractInterceptor
@@ -40,6 +40,8 @@
// Attributes ----------------------------------------------------
Log log;
+ boolean callLogging;
+
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
@@ -53,6 +55,10 @@
super.start();
String name = getContainer().getMetaData().getEjbName();
+
+ // Should we log all calls?
+ callLogging =
getContainer().getMetaData().getContainerConfiguration().getCallLogging();
+
log = new Log(name);
}
@@ -61,31 +67,34 @@
{
Log.setLog(log);
- StringBuffer str = new StringBuffer();
- str.append(method.getName());
- str.append("(");
- if (args != null)
- for (int i = 0; i < args.length; i++)
- {
- str.append(i==0?"":",");
- str.append(args[i]);
- }
- str.append(")");
- log.log(str.toString());
+ // Log calls?
+ if (callLogging)
+ {
+ StringBuffer str = new StringBuffer();
+ str.append(method.getName());
+ str.append("(");
+ if (args != null)
+ for (int i = 0; i < args.length; i++)
+ {
+ str.append(i==0?"":",");
+ str.append(args[i]);
+ }
+ str.append(")");
+ log.log(str.toString());
+ }
try
{
return getNext().invokeHome(method, args, ctx);
} catch (Exception e)
{
- if (e instanceof FinderException)
- throw e;
- else if (e instanceof CreateException)
- throw e;
- else if (e instanceof RemoveException)
- throw e;
-
- e.printStackTrace();
+ // Log system exceptions
+ if (e instanceof RemoteException ||
+ e instanceof RuntimeException)
+ {
+ e.printStackTrace();
+ }
+
throw e;
} finally
{
1.2 +4 -4 jboss/src/main/org/jboss/ejb/plugins/SecurityInterceptor.java
Index: SecurityInterceptor.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/SecurityInterceptor.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SecurityInterceptor.java 2000/04/22 14:30:12 1.1
+++ SecurityInterceptor.java 2000/05/30 18:32:22 1.2
@@ -34,7 +34,7 @@
*
* @see <related>
* @author Rickard �berg ([EMAIL PROTECTED])
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class SecurityInterceptor
extends AbstractInterceptor
@@ -59,8 +59,8 @@
public Object invokeHome(Method method, Object[] args, EnterpriseContext ctx)
throws Exception
{
- if (ctx != null)
- ctx.setPrincipal(SecureSocketFactory.getPrincipal());
+// if (ctx != null)
+// ctx.setPrincipal(SecureSocketFactory.getPrincipal());
return getNext().invokeHome(method, args, ctx);
}
@@ -78,7 +78,7 @@
public Object invoke(Object id, Method method, Object[] args, EnterpriseContext
ctx)
throws Exception
{
- ctx.setPrincipal(SecureSocketFactory.getPrincipal());
+// ctx.setPrincipal(SecureSocketFactory.getPrincipal());
return getNext().invoke(id, method, args, ctx);
}
1.5 +12 -12 jboss/src/main/org/jboss/ejb/plugins/TxInterceptor.java
Index: TxInterceptor.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/TxInterceptor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TxInterceptor.java 2000/05/19 07:11:53 1.4
+++ TxInterceptor.java 2000/05/30 18:32:22 1.5
@@ -29,7 +29,7 @@
*
* @see <related>
* @author Rickard �berg ([EMAIL PROTECTED])
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class TxInterceptor
extends AbstractInterceptor
@@ -89,7 +89,7 @@
{
case TX_NOT_SUPPORTED:
{
- Logger.debug("TX_NOT_SUPPORTED");
+//DEBUG Logger.debug("TX_NOT_SUPPORTED");
if (current.getStatus() != Status.STATUS_NO_TRANSACTION)
{
// Suspend tx
@@ -111,14 +111,14 @@
case TX_REQUIRED:
{
- Logger.debug("TX_REQUIRED");
+//DEBUG Logger.debug("TX_REQUIRED");
Transaction tx = current;
- if (tx.getStatus() == Status.STATUS_NO_TRANSACTION)
+ if (current.getStatus() == Status.STATUS_NO_TRANSACTION)
{
// No tx running
// Create tx
- Logger.debug("Begin tx");
+//DEBUG Logger.debug("Begin tx");
getContainer().getTransactionManager().begin();
tx = getContainer().getTransactionManager().getTransaction();
}
@@ -131,21 +131,21 @@
{
if (!tx.equals(current))
{
-
getContainer().getTransactionManager().rollback();
+ tx.rollback();
}
throw e;
} catch (RuntimeException e)
{
if (!tx.equals(current))
{
- getContainer().getTransactionManager().rollback();
+ tx.rollback();
}
throw new ServerException("Exception occurred", e);
} catch (Error e)
{
if (!tx.equals(current))
{
- getContainer().getTransactionManager().rollback();
+ tx.rollback();
}
throw new ServerException("Exception occurred:"+e.getMessage());
} finally
@@ -168,7 +168,7 @@
case TX_SUPPORTS:
{
- Logger.debug("TX_SUPPORTS");
+//DEBUG Logger.debug("TX_SUPPORTS");
Transaction tx = current;
// This mode doesn't really do anything
@@ -222,7 +222,7 @@
case TX_MANDATORY:
{
- Logger.debug("TX_MANDATORY");
+//DEBUG Logger.debug("TX_MANDATORY");
if (current.getStatus() == Status.STATUS_NO_TRANSACTION)
{
throw new TransactionRequiredException();
@@ -234,7 +234,7 @@
case TX_NEVER:
{
- Logger.debug("TX_NEVER");
+//DEBUG Logger.debug("TX_NEVER");
if (current.getStatus() == Status.STATUS_ACTIVE)
{
throw new RemoteException("Transaction not allowed");
@@ -253,7 +253,7 @@
// This should be cached, since this method is called very often
protected int getTransactionMethod(Method m)
{
- return TX_REQUIRED; // TODO: find out transaction method
+ return TX_SUPPORTS; // TODO: find out transaction method
}
// Inner classes -------------------------------------------------
}