You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ha...@apache.org on 2012/12/19 17:47:26 UTC
svn commit: r1423935 - in /ode/trunk: ./
jacob/src/main/java/org/apache/ode/jacob/
jacob/src/main/java/org/apache/ode/jacob/vpu/
jacob/src/test/java/org/apache/ode/jacob/examples/cell/
jacob/src/test/java/org/apache/ode/jacob/examples/eratosthenes/ jac...
Author: hadrian
Date: Wed Dec 19 16:47:25 2012
New Revision: 1423935
URL: http://svn.apache.org/viewvc?rev=1423935&view=rev
Log:
ODE-983. Switch to slf4j in ode-jacob
Added:
ode/trunk/jacob/src/test/resources/
ode/trunk/jacob/src/test/resources/log4j.properties
Modified:
ode/trunk/Rakefile
ode/trunk/dependencies.rb
ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ChannelListener.java
ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobThread.java
ode/trunk/jacob/src/main/java/org/apache/ode/jacob/SynchChannelListener.java
ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ValChannelListener.java
ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java
ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/cell/CellChannelListener.java
ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/eratosthenes/NaturalNumberStreamChannelListener.java
ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrintChannelListener.java
Modified: ode/trunk/Rakefile
URL: http://svn.apache.org/viewvc/ode/trunk/Rakefile?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/Rakefile (original)
+++ ode/trunk/Rakefile Wed Dec 19 16:47:25 2012
@@ -445,7 +445,7 @@ define "ode" do
desc "ODE JAva Concurrent OBjects"
define "jacob" do
- compile.with COMMONS.logging
+ compile.with SLF4J, LOG4J
package :jar
end
Modified: ode/trunk/dependencies.rb
URL: http://svn.apache.org/viewvc/ode/trunk/dependencies.rb?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/dependencies.rb (original)
+++ ode/trunk/dependencies.rb Wed Dec 19 16:47:25 2012
@@ -95,7 +95,7 @@ KARAF = [
group("org.apache.felix.gogo.command","org.apache.felix.gogo.runtime",
:under=>"org.apache.felix", :version=>"0.6.1")
]
-LOG4J = "log4j:log4j:jar:1.2.13"
+LOG4J = "log4j:log4j:jar:1.2.17"
OPENJPA = ["org.apache.openjpa:openjpa:jar:1.2.1",
"net.sourceforge.serp:serp:jar:1.13.1"]
@@ -127,7 +127,7 @@ SERVICEMIX = [
"commons-beanutils:commons-beanutils:jar:1.7.0",
"tranql:tranql-connector-derby-common:jar:1.1"
]
-SLF4J = group(%w{ slf4j-api slf4j-log4j12 jcl104-over-slf4j }, :under=>"org.slf4j", :version=>"1.4.3")
+SLF4J = group(%w{ slf4j-api slf4j-log4j12 jcl-over-slf4j }, :under=>"org.slf4j", :version=>"1.7.2")
SPRING = ["org.springframework:spring:jar:2.5.6"]
SPRING_OSGI = ["org.springframework.osgi:spring-osgi-core:jar:1.2.0"]
SPRING_TEST = ["org.springframework:spring-test:jar:2.5.6"]
Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ChannelListener.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ChannelListener.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ChannelListener.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ChannelListener.java Wed Dec 19 16:47:25 2012
@@ -23,18 +23,13 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
* Base-class for method-list objects. Method-lists objects should extends this
* class <em>and</em> implement one <code>Channel</code> interface.
*/
public abstract class ChannelListener<CT extends Channel> extends JacobObject {
- private static Log __log = LogFactory.getLog(ChannelListener.class);
-
private transient Set<Method> _implementedMethods;
-
private transient CT _channel;
protected ChannelListener(CT channel) throws IllegalStateException {
@@ -107,8 +102,4 @@ public abstract class ChannelListener<CT
buf.append('}');
return buf.toString();
}
-
- protected Log log() {
- return __log;
- }
}
Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobThread.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobThread.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobThread.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobThread.java Wed Dec 19 16:47:25 2012
@@ -30,7 +30,7 @@ import java.lang.reflect.Method;
* scoping rules for channel names are simply the Java object visibility rules.
*/
public interface JacobThread {
- public Object getExtension(Class extensionClass);
+ public Object getExtension(Class<?> extensionClass);
public String exportChannel(Channel channel);
Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/SynchChannelListener.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/SynchChannelListener.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/SynchChannelListener.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/SynchChannelListener.java Wed Dec 19 16:47:25 2012
@@ -9,8 +9,6 @@
package org.apache.ode.jacob;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.logging.Log;
/**
* An auto-generated channel listener abstract class for the
@@ -22,11 +20,6 @@ public abstract class SynchChannelListen
extends org.apache.ode.jacob.ChannelListener<org.apache.ode.jacob.SynchChannel>
implements org.apache.ode.jacob.Synch
{
-
- private static final Log __log = LogFactory.getLog(org.apache.ode.jacob.Synch.class);
-
- protected Log log() { return __log; }
-
protected SynchChannelListener(org.apache.ode.jacob.SynchChannel channel) {
super(channel);
}
Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ValChannelListener.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ValChannelListener.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ValChannelListener.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/ValChannelListener.java Wed Dec 19 16:47:25 2012
@@ -9,8 +9,6 @@
package org.apache.ode.jacob;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.logging.Log;
/**
* An auto-generated channel listener abstract class for the
@@ -22,11 +20,6 @@ public abstract class ValChannelListener
extends org.apache.ode.jacob.ChannelListener<org.apache.ode.jacob.ValChannel>
implements org.apache.ode.jacob.Val
{
-
- private static final Log __log = LogFactory.getLog(org.apache.ode.jacob.Val.class);
-
- protected Log log() { return __log; }
-
protected ValChannelListener(org.apache.ode.jacob.ValChannel channel) {
super(channel);
}
Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java Wed Dec 19 16:47:25 2012
@@ -18,22 +18,6 @@
*/
package org.apache.ode.jacob.vpu;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.ode.jacob.Channel;
-import org.apache.ode.jacob.ChannelListener;
-import org.apache.ode.jacob.IndexedObject;
-import org.apache.ode.jacob.JacobObject;
-import org.apache.ode.jacob.soup.Comm;
-import org.apache.ode.jacob.soup.CommChannel;
-import org.apache.ode.jacob.soup.CommGroup;
-import org.apache.ode.jacob.soup.CommRecv;
-import org.apache.ode.jacob.soup.CommSend;
-import org.apache.ode.jacob.soup.Continuation;
-import org.apache.ode.jacob.soup.ExecutionQueue;
-import org.apache.ode.jacob.soup.ExecutionQueueObject;
-import org.apache.ode.jacob.soup.ReplacementMap;
-
import java.io.Externalizable;
import java.io.IOException;
import java.io.InputStream;
@@ -57,12 +41,29 @@ import java.util.concurrent.ConcurrentHa
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
+import org.apache.ode.jacob.Channel;
+import org.apache.ode.jacob.ChannelListener;
+import org.apache.ode.jacob.IndexedObject;
+import org.apache.ode.jacob.JacobObject;
+import org.apache.ode.jacob.soup.Comm;
+import org.apache.ode.jacob.soup.CommChannel;
+import org.apache.ode.jacob.soup.CommGroup;
+import org.apache.ode.jacob.soup.CommRecv;
+import org.apache.ode.jacob.soup.CommSend;
+import org.apache.ode.jacob.soup.Continuation;
+import org.apache.ode.jacob.soup.ExecutionQueue;
+import org.apache.ode.jacob.soup.ExecutionQueueObject;
+import org.apache.ode.jacob.soup.ReplacementMap;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* A fast, in-memory {@link org.apache.ode.jacob.soup.ExecutionQueue} implementation.
*/
public class ExecutionQueueImpl implements ExecutionQueue {
/** Class-level logger. */
- private static final Log __log = LogFactory.getLog(ExecutionQueueImpl.class);
+ private static final Logger LOG = LoggerFactory.getLogger(ExecutionQueueImpl.class);
private ClassLoader _classLoader;
@@ -117,10 +118,7 @@ public class ExecutionQueueImpl implemen
}
public void add(CommChannel channel) {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("add", new Object[] { "channel", channel }));
- __log.trace(">> add (channel=" + channel + ")");
- }
+ LOG.trace(">> add (channel={})", channel);
verifyNew(channel);
ChannelFrame cframe = new ChannelFrame(channel.getType(), ++_objIdCounter, channel.getType().getName(), channel
@@ -130,21 +128,14 @@ public class ExecutionQueueImpl implemen
}
public void enqueueReaction(Continuation continuation) {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("enqueueReaction", new Object[] { "continuation",
- // continuation }));
- __log.trace(">> enqueueReaction (continuation=" + continuation + ")");
- }
+ LOG.trace(">> enqueueReaction (continuation={})", continuation);
verifyNew(continuation);
_reactions.add(continuation);
}
public Continuation dequeueReaction() {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("dequeueReaction", new Class[]{}));
- __log.trace(">> dequeueReaction ()");
- }
+ LOG.trace(">> dequeueReaction ()");
Continuation continuation = null;
if (!_reactions.isEmpty()) {
@@ -156,10 +147,7 @@ public class ExecutionQueueImpl implemen
}
public void add(CommGroup group) {
- if (__log.isTraceEnabled()) {
- // __log.trace(ObjectPrinter.stringifyMethodEnter("add", new Object[] { "group", group }));
- __log.trace(">> add (group=" + group + ")");
- }
+ LOG.trace(">> add (group={})", group);
verifyNew(group);
CommGroupFrame commGroupFrame = new CommGroupFrame(group.isReplicated());
@@ -211,19 +199,12 @@ public class ExecutionQueueImpl implemen
}
public int cycle() {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("cycle", new Class[]{}));
- __log.trace(">> cycle ()");
- }
-
+ LOG.trace(">> cycle ()");
return ++_currentCycle;
}
public String createExport(CommChannel channel) {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("createExport", new Object[] { "channel", channel }));
- __log.trace(">> createExport (channel=" + channel + ")");
- }
+ LOG.trace(">> createExport (channel={})", channel);
ChannelFrame cframe = findChannelFrame(channel.getId());
cframe.refCount++;
@@ -231,10 +212,7 @@ public class ExecutionQueueImpl implemen
}
public CommChannel consumeExport(String exportId) {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("consumeExport", new Object[] { "exportId", exportId }));
- __log.trace(">> consumeExport (exportId=" + exportId + ")");
- }
+ LOG.trace(">> consumeExport (exportId={})", exportId);
Integer id = Integer.valueOf(exportId);
ChannelFrame cframe = findChannelFrame(id);
@@ -250,10 +228,7 @@ public class ExecutionQueueImpl implemen
}
public void flush() {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("flush", new Class[]{}));
- __log.trace(">> flush ()");
- }
+ LOG.trace(">> flush ()");
}
public void read(InputStream iis) throws IOException, ClassNotFoundException {
@@ -346,8 +321,7 @@ public class ExecutionQueueImpl implemen
if (referencedChannels.contains(Integer.valueOf(cframe.id)) || cframe.refCount > 0) {
// skip
} else {
- if (__log.isDebugEnabled())
- __log.debug("GC Channel: " + cframe);
+ LOG.debug("GC Channel: {}", cframe);
i.remove();
}
@@ -356,9 +330,7 @@ public class ExecutionQueueImpl implemen
sos.writeInt(_channels.values().size());
for (Iterator i = _channels.values().iterator(); i.hasNext();) {
ChannelFrame cframe = (ChannelFrame) i.next();
- if (__log.isDebugEnabled()) {
- __log.debug("Writing Channel: " + cframe);
- }
+ LOG.debug("Writing Channel: {}", cframe);
sos.writeObject(cframe);
}
@@ -400,10 +372,8 @@ public class ExecutionQueueImpl implemen
}
private void matchCommunications(CommChannel channel) {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("matchCommunications", new Object[] { "channel", channel }));
- __log.trace(">> matchCommunications (channel=" + channel + ")");
- }
+ LOG.trace(">> matchCommunications (channel={})", channel);
+
ChannelFrame cframe = _channels.get(channel.getId());
while (cframe != null && !cframe.msgFrames.isEmpty() && !cframe.objFrames.isEmpty()) {
MessageFrame mframe = cframe.msgFrames.iterator().next();
@@ -411,7 +381,7 @@ public class ExecutionQueueImpl implemen
Continuation continuation = new Continuation(oframe._continuation, oframe._continuation
.getMethod(mframe.method), mframe.args);
- if (__log.isInfoEnabled()) {
+ if (LOG.isInfoEnabled()) {
continuation.setDescription(channel + " ? {...} | " + channel + " ! " + mframe.method + "(...)");
}
enqueueReaction(continuation);
@@ -701,14 +671,12 @@ public class ExecutionQueueImpl implemen
return new ChannelRef(commChannel.getType(), (Integer) commChannel.getId());
} else if (_replacementMap != null && _replacementMap.isReplaceable(obj)) {
Object replacement = _replacementMap.getReplacement(obj);
- if (__log.isDebugEnabled())
- __log.debug("ReplacmentMap: getReplacement(" + obj + ") = " + replacement);
+ LOG.debug("ReplacmentMap: getReplacement({}) = {}", obj, replacement);
return replacement;
}
return obj;
}
-
}
/**
@@ -756,9 +724,7 @@ public class ExecutionQueueImpl implemen
resolved = ChannelFactory.createChannel(channel, channel.getType());
} else if (_replacementMap != null && _replacementMap.isReplacement(obj)) {
resolved = _replacementMap.getOriginal(obj);
- if (__log.isDebugEnabled()) {
- __log.debug("ReplacementMap: getOriginal(" + obj + ") = " + resolved);
- }
+ LOG.debug("ReplacementMap: getOriginal({}) = {}", obj, resolved);
} else {
resolved = obj;
}
Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java Wed Dec 19 16:47:25 2012
@@ -18,46 +18,46 @@
*/
package org.apache.ode.jacob.vpu;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.ode.jacob.*;
-import org.apache.ode.jacob.soup.*;
-
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;
+import org.apache.ode.jacob.Channel;
+import org.apache.ode.jacob.ChannelListener;
+import org.apache.ode.jacob.JacobObject;
+import org.apache.ode.jacob.JacobRunnable;
+import org.apache.ode.jacob.JacobThread;
+import org.apache.ode.jacob.SynchChannel;
+import org.apache.ode.jacob.soup.CommChannel;
+import org.apache.ode.jacob.soup.CommGroup;
+import org.apache.ode.jacob.soup.CommRecv;
+import org.apache.ode.jacob.soup.CommSend;
+import org.apache.ode.jacob.soup.Continuation;
+import org.apache.ode.jacob.soup.ExecutionQueue;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* The JACOB Virtual Processing Unit ("VPU").
*
* @author Maciej Szefler <a href="mailto:mbs@fivesight.com" />
*/
public final class JacobVPU {
- private static final Log __log = LogFactory.getLog(JacobVPU.class);
-
- /**
- * Internationalization messages.
- */
- // TODO: i8n messages
- // private static final JacobMessages __msgs = MessageBundle.getMessages(JacobMessages.class);
-
- /**
- * Thread-local for associating a thread with a VPU. Needs to be stored in a stack to allow reentrance.
- */
- static final ThreadLocal<Stack<JacobThread>> __activeJacobThread = new ThreadLocal<Stack<JacobThread>>();
+ private static final Logger LOG = LoggerFactory.getLogger(JacobVPU.class);
+ // Thread-local for associating a thread with a VPU. Needs to be stored in a stack to allow reentrance.
+ private static final ThreadLocal<Stack<JacobThread>> ACTIVE_THREAD = new ThreadLocal<Stack<JacobThread>>();
private static final Method REDUCE_METHOD;
- /**
- * Resolve the {@link JacobRunnable#run} method statically
- */
static {
try {
+ // Resolve the {@link JacobRunnable#run} method once statically
REDUCE_METHOD = JacobRunnable.class.getMethod("run", new Class[]{});
} catch (Exception e) {
- throw new Error("Cannot resolve 'run' method", e);
+ throw new Error("Cannot resolve 'run()' method", e);
}
}
@@ -65,8 +65,7 @@ public final class JacobVPU {
* Persisted cross-VPU state (state of the channels)
*/
private ExecutionQueue _executionQueue;
-
- private Map<Class, Object> _extensions = new HashMap<Class, Object>();
+ private Map<Class<?>, Object> _extensions = new HashMap<Class<?>, Object>();
/**
* Classloader used for loading object continuations.
@@ -115,11 +114,8 @@ public final class JacobVPU {
* @return <code>true</code> if the run queue is not empty after this cycle, <code>false</code> otherwise.
*/
public boolean execute() {
- if (__log.isTraceEnabled()) {
- // TODO: make this look nicer with slf4j
- // __log.trace(ObjectPrinter.stringifyMethodEnter("execute", new Class[]{}));
- __log.trace(">> execute ()");
- }
+ LOG.trace(">> JacobVPU.execute()");
+
if (_executionQueue == null) {
throw new IllegalStateException("No state object for VPU!");
}
@@ -150,10 +146,7 @@ public final class JacobVPU {
}
public void flush() {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("flush", new Class[]{}));
- __log.trace(">> flush ()");
- }
+ LOG.trace(">> JacobVPU.flush ()");
_executionQueue.flush();
}
@@ -165,21 +158,14 @@ public final class JacobVPU {
* process executionQueue (state)
*/
public void setContext(ExecutionQueue executionQueue) {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("setContext",
- // new Object[] { "executionQueue", executionQueue }));
- __log.trace(">> setContext (executionQueue=" + executionQueue + ")");
- }
+ LOG.trace(">> setContext (executionQueue={})", executionQueue);
+
_executionQueue = executionQueue;
_executionQueue.setClassLoader(_classLoader);
}
- public void registerExtension(Class extensionClass, Object obj) {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter(
- // "registerExtension", new Object[] {"extensionClass", extensionClass, "obj", obj }));
- __log.trace(">> setContext (extensionClass=" + extensionClass + ", obj=" + obj + ")");
- }
+ public void registerExtension(Class<?> extensionClass, Object obj) {
+ LOG.trace(">> setContext (extensionClass={}, obj={})", extensionClass, obj);
_extensions.put(extensionClass, obj);
}
@@ -187,11 +173,7 @@ public final class JacobVPU {
* Add an item to the run queue.
*/
public void addReaction(JacobObject jo, Method method, Object[] args, String desc) {
- if (__log.isTraceEnabled()) {
- // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("addReaction",
- // new Object[] { "jo", jo, "method", method, "args", args, "desc", desc }));
- __log.trace(">> addReaction (jo=" + jo + ", method=" + method + ", args=" + args + ", desc=" + desc + ")");
- }
+ LOG.trace(">> addReaction (jo={}, method={}, args={}, desc={})", jo, method, args, desc);
Continuation continuation = new Continuation(jo, method, args);
continuation.setDescription(desc);
@@ -203,7 +185,7 @@ public final class JacobVPU {
* Get the active Jacob thread, i.e. the one associated with the current Java thread.
*/
public static JacobThread activeJacobThread() {
- return __activeJacobThread.get().peek();
+ return ACTIVE_THREAD.get().peek();
}
/**
@@ -214,14 +196,12 @@ public final class JacobVPU {
* but is intended to be used from outside of an active {@link JacobThread}.
*/
public void inject(JacobRunnable concretion) {
- if (__log.isDebugEnabled()) {
- __log.debug("injecting " + concretion);
- }
+ LOG.debug("injecting {}", concretion);
addReaction(concretion, REDUCE_METHOD, new Class[]{},
- (__log.isInfoEnabled() ? concretion.toString() : null));
+ (LOG.isInfoEnabled() ? concretion.toString() : null));
}
- static String stringifyMethods(Class kind) {
+ static String stringifyMethods(Class<?> kind) {
StringBuffer buf = new StringBuffer();
Method[] methods = kind.getMethods();
boolean found = false;
@@ -301,7 +281,7 @@ public final class JacobVPU {
_source = rqe.getDescription();
_method = rqe.getMethod();
- if (__log.isDebugEnabled()) {
+ if (LOG.isDebugEnabled()) {
StringBuffer buf = new StringBuffer(_methodBody.getClass().getName());
buf.append('.');
buf.append(rqe.getMethod());
@@ -310,20 +290,17 @@ public final class JacobVPU {
}
public void instance(JacobRunnable template) {
- String desc = null;
- if (__log.isTraceEnabled()) {
- __log.trace(_cycle + ": " + template);
- desc = template.toString();
- }
+ LOG.trace(">> [{}] : {}", _cycle, template);
+
_statistics.numReductionsStruct++;
- addReaction(template, REDUCE_METHOD, new Class[]{}, desc);
+ addReaction(template, REDUCE_METHOD, new Class[]{},
+ LOG.isInfoEnabled() ? template.toString() : null);
}
public Channel message(Channel channel, Method method, Object[] args) {
- if (__log.isTraceEnabled()) {
- __log.trace(_cycle + ": " + channel + " ! "
- + method.getName() + "(" + stringify(args) + ")");
- }
+ LOG.trace(">> [{}] : {} ! {} ({})", _cycle, channel, method.getName(),
+ LOG.isTraceEnabled() ? stringify(args) : null);
+
_statistics.messagesSent++;
SynchChannel replyChannel = null;
@@ -331,7 +308,7 @@ public final class JacobVPU {
if (method.getReturnType() != void.class) {
if (method.getReturnType() != SynchChannel.class) {
throw new IllegalStateException(
- "ChannelListener method can only return SynchChannel: " + method);
+ "ChannelListener method can only return SynchChannel: " + method);
}
replyChannel = (SynchChannel) newChannel(SynchChannel.class, "", "Reply Channel");
Object[] newArgs = new Object[args.length + 1];
@@ -353,17 +330,15 @@ public final class JacobVPU {
_executionQueue.add(chnl);
Channel ret = ChannelFactory.createChannel(chnl, channelType);
- if (__log.isTraceEnabled())
- __log.trace(_cycle + ": new " + ret);
+ LOG.trace(">> [{}] : new {}", _cycle, ret);
_statistics.channelsCreated++;
return ret;
}
public String exportChannel(Channel channel) {
- if (__log.isTraceEnabled()) {
- __log.trace(_cycle + ": export<" + channel + ">");
- }
+ LOG.trace(">> [{}] : export<{}>", _cycle, channel);
+
CommChannel chnl = (CommChannel) ChannelFactory.getBackend(channel);
return _executionQueue.createExport(chnl);
}
@@ -374,7 +349,7 @@ public final class JacobVPU {
}
public void object(boolean replicate, ChannelListener[] ml) {
- if (__log.isTraceEnabled()) {
+ if (LOG.isTraceEnabled()) {
StringBuffer msg = new StringBuffer();
msg.append(_cycle);
msg.append(": ");
@@ -385,7 +360,7 @@ public final class JacobVPU {
msg.append(ml.toString());
}
- __log.debug(msg.toString());
+ LOG.trace(msg.toString());
}
_statistics.numContinuations++;
@@ -425,7 +400,7 @@ public final class JacobVPU {
}
*/
- public Object getExtension(Class extensionClass) {
+ public Object getExtension(Class<?> extensionClass) {
return _extensions.get(extensionClass);
}
@@ -434,9 +409,7 @@ public final class JacobVPU {
assert _method != null;
assert _method.getDeclaringClass().isAssignableFrom(_methodBody.getClass());
- if (__log.isTraceEnabled()) {
- __log.trace(_cycle + ": " + _source);
- }
+ LOG.trace(">> [{}] : {}", _cycle, _source);
Object[] args;
SynchChannel synchChannel;
@@ -456,21 +429,12 @@ public final class JacobVPU {
synchChannel.ret();
}
} catch (IllegalAccessException iae) {
- // TODO: String msg = __msgs.msgMethodNotAccessible(_method.getName(),
- // _method.getDeclaringClass().getName());
- String msg = "MethodNotAccessible: " + _method.getName() + " in " + _method.getDeclaringClass().getName();
- __log.error(msg, iae);
- throw new RuntimeException(msg, iae);
+ throw new RuntimeException("MethodNotAccessible: " + _method.getName() + " in " + _method.getDeclaringClass().getName(), iae);
} catch (InvocationTargetException e) {
- if (e.getTargetException() instanceof RuntimeException) {
- throw (RuntimeException) e.getTargetException();
- } else {
- // TODO: String msg = __msgs.msgClientMethodException(_method.getName(),
- // _methodBody.getClass().getName());
- String msg = "ClientMethodException: " + _method.getName() + " in " + _methodBody.getClass().getName();
- __log.error(msg, e.getTargetException());
- throw new RuntimeException(e.getTargetException());
- }
+ Throwable target = e.getTargetException();
+ throw (target instanceof RuntimeException)
+ ? (RuntimeException) target
+ : new RuntimeException("ClientMethodException: " + _method.getName() + " in " + _methodBody.getClass().getName(), target);
} finally {
ctime = System.currentTimeMillis() - ctime;
_statistics.totalClientTimeMs += ctime;
@@ -483,19 +447,16 @@ public final class JacobVPU {
}
private void stackThread() {
- Stack<JacobThread> currStack = __activeJacobThread.get();
- if (currStack == null) {
- currStack = new Stack<JacobThread>();
- __activeJacobThread.set(currStack);
+ Stack<JacobThread> crt = ACTIVE_THREAD.get();
+ if (crt == null) {
+ crt = new Stack<JacobThread>();
+ ACTIVE_THREAD.set(crt);
}
- currStack.push(this);
+ crt.push(this);
}
private JacobThread unstackThread() {
- Stack<JacobThread> currStack = __activeJacobThread.get();
- assert currStack != null;
- return currStack.pop();
+ return ACTIVE_THREAD.get().pop();
}
}
-
}
Modified: ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/cell/CellChannelListener.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/cell/CellChannelListener.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/cell/CellChannelListener.java (original)
+++ ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/cell/CellChannelListener.java Wed Dec 19 16:47:25 2012
@@ -9,8 +9,6 @@
package org.apache.ode.jacob.examples.cell;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.logging.Log;
/**
* An auto-generated channel listener abstract class for the
@@ -22,11 +20,6 @@ public abstract class CellChannelListene
extends org.apache.ode.jacob.ChannelListener<org.apache.ode.jacob.examples.cell.CellChannel>
implements org.apache.ode.jacob.examples.cell.Cell
{
-
- private static final Log __log = LogFactory.getLog(org.apache.ode.jacob.examples.cell.Cell.class);
-
- protected Log log() { return __log; }
-
protected CellChannelListener(org.apache.ode.jacob.examples.cell.CellChannel channel) {
super(channel);
}
Modified: ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/eratosthenes/NaturalNumberStreamChannelListener.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/eratosthenes/NaturalNumberStreamChannelListener.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/eratosthenes/NaturalNumberStreamChannelListener.java (original)
+++ ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/eratosthenes/NaturalNumberStreamChannelListener.java Wed Dec 19 16:47:25 2012
@@ -9,8 +9,6 @@
package org.apache.ode.jacob.examples.eratosthenes;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.logging.Log;
/**
* An auto-generated channel listener abstract class for the
@@ -22,11 +20,6 @@ public abstract class NaturalNumberStrea
extends org.apache.ode.jacob.ChannelListener<org.apache.ode.jacob.examples.eratosthenes.NaturalNumberStreamChannel>
implements org.apache.ode.jacob.examples.eratosthenes.NaturalNumberStream
{
-
- private static final Log __log = LogFactory.getLog(org.apache.ode.jacob.examples.eratosthenes.NaturalNumberStream.class);
-
- protected Log log() { return __log; }
-
protected NaturalNumberStreamChannelListener(org.apache.ode.jacob.examples.eratosthenes.NaturalNumberStreamChannel channel) {
super(channel);
}
Modified: ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrintChannelListener.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrintChannelListener.java?rev=1423935&r1=1423934&r2=1423935&view=diff
==============================================================================
--- ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrintChannelListener.java (original)
+++ ode/trunk/jacob/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrintChannelListener.java Wed Dec 19 16:47:25 2012
@@ -9,8 +9,6 @@
package org.apache.ode.jacob.examples.synch;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.logging.Log;
/**
* An auto-generated channel listener abstract class for the
@@ -22,11 +20,6 @@ public abstract class SynchPrintChannelL
extends org.apache.ode.jacob.ChannelListener<org.apache.ode.jacob.examples.synch.SynchPrintChannel>
implements org.apache.ode.jacob.examples.synch.SynchPrint
{
-
- private static final Log __log = LogFactory.getLog(org.apache.ode.jacob.examples.synch.SynchPrint.class);
-
- protected Log log() { return __log; }
-
protected SynchPrintChannelListener(org.apache.ode.jacob.examples.synch.SynchPrintChannel channel) {
super(channel);
}
Added: ode/trunk/jacob/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/test/resources/log4j.properties?rev=1423935&view=auto
==============================================================================
--- ode/trunk/jacob/src/test/resources/log4j.properties (added)
+++ ode/trunk/jacob/src/test/resources/log4j.properties Wed Dec 19 16:47:25 2012
@@ -0,0 +1,34 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Set root logger level to WARN and its only appender to CONSOLE
+log4j.rootLogger=WARN, file
+
+# log4j properties to work with commandline tools.
+log4j.category.org.apache.ode=INFO
+
+# Console appender
+#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+#log4j.appender.stdout.layout.ConversionPattern=%p - %C{1}.%M(%L) | %m%n
+
+log4j.appender.file=org.apache.log4j.FileAppender
+log4j.appender.file.File=target/test.log
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{MM-dd@HH:mm:ss} %-5p (%13F:%L) %3x - %m%n
+log4j.appender.file.append=false
+