You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2009/12/05 17:23:13 UTC
svn commit: r887556 -
/activemq/sandbox/activemq-apollo-actor/activemq-dispatcher/src/main/java/org/apache/activemq/actor/Actor.java
Author: chirino
Date: Sat Dec 5 16:23:11 2009
New Revision: 887556
URL: http://svn.apache.org/viewvc?rev=887556&view=rev
Log:
added some code that can dump the generated class file for inspection/debugging
Modified:
activemq/sandbox/activemq-apollo-actor/activemq-dispatcher/src/main/java/org/apache/activemq/actor/Actor.java
Modified: activemq/sandbox/activemq-apollo-actor/activemq-dispatcher/src/main/java/org/apache/activemq/actor/Actor.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-dispatcher/src/main/java/org/apache/activemq/actor/Actor.java?rev=887556&r1=887555&r2=887556&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-dispatcher/src/main/java/org/apache/activemq/actor/Actor.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-dispatcher/src/main/java/org/apache/activemq/actor/Actor.java Sat Dec 5 16:23:11 2009
@@ -7,8 +7,10 @@
**************************************************************************************/
package org.apache.activemq.actor;
+import java.io.FileOutputStream;
import java.lang.reflect.Method;
+import net.sf.cglib.core.DefaultGeneratorStrategy;
import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
@@ -31,6 +33,20 @@
e.setSuperclass(target.getClass());
e.setInterfaces(interfaces);
e.setCallback(new ActorMethodInterceptor(queue));
+// Un-comment the following if you want store the generated class file:
+// e.setStrategy(new DefaultGeneratorStrategy() {
+// protected byte[] transform(byte[] b) {
+// try {
+// FileOutputStream os = new FileOutputStream("test.class");
+// os.write(b);
+// os.close();
+// } catch (Throwable e) {
+// e.printStackTrace();
+// }
+// return b;
+// }
+// });
+
return (T) e.create();
}
@@ -50,7 +66,8 @@
/**
* Tests if a given method has a Message annotation
*
- * @param method The mehod.
+ * @param method
+ * The mehod.
*/
private static boolean isMessage(Method method) {
if (method.isAnnotationPresent(Message.class)) {