Hi list,

hope this question belongs here:

I use the Tapestry Registry for a non-web app to manage my dependencies, and 
the same code works differently on my MAC (where it runs fine) and on an Ubuntu 
VM (where it crashes, see the trace)

The code triggering the different behaviors is summarized here:


RegistryBuilder builder = new RegistryBuilder();
                builder.add(UtilsModule.class);
                builder.add(ExperimentAutomationAppModule.class);

                Registry registry = builder.build();
                registry.performRegistryStartup();

                // This is the code:

                SineTraceGenerator generator = (SineTraceGenerator) registry
                                .getService("SineTraceGenerator", 
TraceGenerator.class);


The ExperimentAutomationAppModule builds the SineTraceGenerator as follows:

public static TraceGenerator buildSineTraceGenerator(Logger logger,
                        @Value("${ecssim.trace-amplitude}") Double amplitude,
                        @Value("${ecssim.trace-frequency}") Double frequency,
                        @Value("${ecssim.trace-phaseShift}") Double phaseShift,
                        @Value("${ecssim.trace-verticalShift}") Double 
verticalShift,
                        @Value("${ecssim.clients-traceFile}") String traceFile) 
{

                return new SineTraceGenerator(amplitude, frequency, phaseShift,
                                verticalShift, traceFile);
        }

The SineGeneratorClass is defined as:

public class SineTraceGenerator implements TraceGenerator 



Now, I clearly understand that Tapestry underneath uses its ClassLoading 
machinery, but it remains unclear why *and how to solve this* there is such a 
big difference (crash/not-crash) in the two cases.

I would like to use something like:

public static SineTraceGenerator buildSineTraceGenerator(...

And I cannot either do:

TraceGenerator generator = (SineTraceGenerator) registry
                                .getService("SineTraceGenerator", 
TraceGenerator.class);

Would be the following a good design ? ... How knows !

public class SineTraceGenerator implements TraceGenerator, SinePattern

SinePattern pattern = registry
                                .getService("SineTraceGenerator", 
SinePattern.class);
pattern.setFrequency( ... );
...

TraceGenerator generator = (SineTraceGenerator) registry
                                .getService("SineTraceGenerator", 
TraceGenerator.class);
generator.generate();

Or should I need to define two services that are implemented by the same 
instance object ? This sounds quite dirty although...

Regards

-- Alessio


================= TRACE/LOG 

INFO  org.apache.tapestry5.ioc.RegistryBuilder: Adding module definition for 
class org.apache.tapestry5.ioc.services.TapestryIOCModule
INFO  org.apache.tapestry5.ioc.RegistryBuilder: Adding module definition for 
class org.gambi.utils.UtilsModule
INFO  org.apache.tapestry5.ioc.RegistryBuilder: Adding module definition for 
class org.gambi.experiments.ExperimentAutomationAppModule
DEBUG org.apache.tapestry5.ioc.Registry: [  1] --> Eager loading services
DEBUG org.apache.tapestry5.ioc.Registry: [  1] <-- Eager loading services [2.24 
ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  1] --> Eager loading services
DEBUG org.apache.tapestry5.ioc.Registry: [  1] <-- Eager loading services [0.18 
ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  1] --> Eager loading services
DEBUG org.apache.tapestry5.ioc.Registry: [  1] <-- Eager loading services [0.11 
ms]
DEBUG org.apache.tapestry5.ioc.services.TapestryIOCModule.RegistryStartup: 
Creating proxy for service RegistryStartup
DEBUG org.apache.tapestry5.ioc.Registry: [  1] --> Creating proxy for service 
RegistryStartup
DEBUG org.apache.tapestry5.ioc.Registry: [  2] --> Obtaining AspectDecorator 
service
DEBUG org.apache.tapestry5.ioc.services.TapestryIOCModule.AspectDecorator: 
Creating proxy for service AspectDecorator
DEBUG org.apache.tapestry5.ioc.Registry: [  3] --> Creating proxy for service 
AspectDecorator
DEBUG org.apache.tapestry5.ioc.services.TapestryIOCModule.PlasticProxyFactory: 
Loading class $AspectDecorator_28566c0cafeaa:
// class version 49.0 (49)
// access flags 0x1
public class $AspectDecorator_28566c0cafeaa implements 
org/apache/tapestry5/ioc/services/AspectDecorator java/io/Serializable  {


 // access flags 0x12
 private final Lorg/apache/tapestry5/ioc/ObjectCreator; creator

 // access flags 0x12
 private final Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken; token

 // access flags 0x1
 public 
build(Ljava/lang/Class;Ljava/lang/Object;Lorg/apache/tapestry5/ioc/MethodAdvice;Ljava/lang/String;)Ljava/lang/Object;
   ALOAD 0
   INVOKESPECIAL $AspectDecorator_28566c0cafeaa.delegate 
()Lorg/apache/tapestry5/ioc/services/AspectDecorator;
   ALOAD 1
   ALOAD 2
   ALOAD 3
   ALOAD 4
   INVOKEINTERFACE org/apache/tapestry5/ioc/services/AspectDecorator.build 
(Ljava/lang/Class;Ljava/lang/Object;Lorg/apache/tapestry5/ioc/MethodAdvice;Ljava/lang/String;)Ljava/lang/Object;
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public 
createBuilder(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;)Lorg/apache/tapestry5/ioc/services/AspectInterceptorBuilder;
   ALOAD 0
   INVOKESPECIAL $AspectDecorator_28566c0cafeaa.delegate 
()Lorg/apache/tapestry5/ioc/services/AspectDecorator;
   ALOAD 1
   ALOAD 2
   ALOAD 3
   INVOKEINTERFACE 
org/apache/tapestry5/ioc/services/AspectDecorator.createBuilder 
(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;)Lorg/apache/tapestry5/ioc/services/AspectInterceptorBuilder;
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public 
createBuilder(Ljava/lang/Class;Ljava/lang/Object;Lorg/apache/tapestry5/ioc/AnnotationAccess;Ljava/lang/String;)Lorg/apache/tapestry5/ioc/services/AspectInterceptorBuilder;
   ALOAD 0
   INVOKESPECIAL $AspectDecorator_28566c0cafeaa.delegate 
()Lorg/apache/tapestry5/ioc/services/AspectDecorator;
   ALOAD 1
   ALOAD 2
   ALOAD 3
   ALOAD 4
   INVOKEINTERFACE 
org/apache/tapestry5/ioc/services/AspectDecorator.createBuilder 
(Ljava/lang/Class;Ljava/lang/Object;Lorg/apache/tapestry5/ioc/AnnotationAccess;Ljava/lang/String;)Lorg/apache/tapest
ry5/ioc/services/AspectInterceptorBuilder;
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1010
 final reject_field_change_creator(Lorg/apache/tapestry5/ioc/ObjectCreator;)V
   NEW java/lang/IllegalStateException
   DUP
   LDC "Field creator of class $AspectDecorator_28566c0cafeaa is read-only."
   INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
   ATHROW
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1010
 final 
reject_field_change_token(Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;)V
   NEW java/lang/IllegalStateException
   DUP
   LDC "Field token of class $AspectDecorator_28566c0cafeaa is read-only."
   INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
   ATHROW
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x2
 private delegate()Lorg/apache/tapestry5/ioc/services/AspectDecorator;
   ALOAD 0
   GETFIELD $AspectDecorator_28566c0cafeaa.creator : 
Lorg/apache/tapestry5/ioc/ObjectCreator;
   INVOKEINTERFACE org/apache/tapestry5/ioc/ObjectCreator.createObject 
()Ljava/lang/Object;
   CHECKCAST org/apache/tapestry5/ioc/services/AspectDecorator
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x2
 private writeReplace()Ljava/lang/Object; throws java/io/ObjectStreamException
   ALOAD 0
   GETFIELD $AspectDecorator_28566c0cafeaa.token : 
Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public toString()Ljava/lang/String;
   LDC "<Proxy for 
AspectDecorator(org.apache.tapestry5.ioc.services.AspectDecorator)>"
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public 
<init>(Lorg/apache/tapestry5/internal/plastic/StaticContext;Lorg/apache/tapestry5/plastic/InstanceContext;)V
   ALOAD 0
   INVOKESPECIAL java/lang/Object.<init> ()V
   ALOAD 0
   ALOAD 1
   ICONST_0
   INVOKEVIRTUAL org/apache/tapestry5/internal/plastic/StaticContext.get 
(I)Ljava/lang/Object;
   CHECKCAST org/apache/tapestry5/ioc/ObjectCreator
   PUTFIELD $AspectDecorator_28566c0cafeaa.creator : 
Lorg/apache/tapestry5/ioc/ObjectCreator;
   ALOAD 0
   ALOAD 1
   ICONST_1
   INVOKEVIRTUAL org/apache/tapestry5/internal/plastic/StaticContext.get 
(I)Ljava/lang/Object;
   CHECKCAST org/apache/tapestry5/ioc/internal/ServiceProxyToken
   PUTFIELD $AspectDecorator_28566c0cafeaa.token : 
Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;
   RETURN
   MAXSTACK = 0
   MAXLOCALS = 0
}

DEBUG org.apache.tapestry5.ioc.Registry: [  3] <-- Creating proxy for service 
AspectDecorator [49.05 ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  2] <-- Obtaining AspectDecorator 
service [49.98 ms]
DEBUG org.apache.tapestry5.ioc.services.TapestryIOCModule.PlasticProxyFactory: 
Loading class $Runnable_28566c0cafeab:
// class version 49.0 (49)
// access flags 0x1
public class $Runnable_28566c0cafeab implements java/lang/Runnable 
java/io/Serializable  {


 // access flags 0x12
 private final Lorg/apache/tapestry5/ioc/ObjectCreator; creator

 // access flags 0x12
 private final Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken; token

 // access flags 0x1
 public run()V
   ALOAD 0
   INVOKESPECIAL $Runnable_28566c0cafeab.delegate ()Ljava/lang/Runnable;
   INVOKEINTERFACE java/lang/Runnable.run ()V
   RETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1010
 final reject_field_change_creator(Lorg/apache/tapestry5/ioc/ObjectCreator;)V
   NEW java/lang/IllegalStateException
   DUP
   LDC "Field creator of class $Runnable_28566c0cafeab is read-only."
   INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
   ATHROW
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1010
 final 
reject_field_change_token(Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;)V
   NEW java/lang/IllegalStateException
   DUP
   LDC "Field token of class $Runnable_28566c0cafeab is read-only."
   INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
   ATHROW
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x2
 private delegate()Ljava/lang/Runnable;
   ALOAD 0
   GETFIELD $Runnable_28566c0cafeab.creator : 
Lorg/apache/tapestry5/ioc/ObjectCreator;
   INVOKEINTERFACE org/apache/tapestry5/ioc/ObjectCreator.createObject 
()Ljava/lang/Object;
   CHECKCAST java/lang/Runnable
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x2
 private writeReplace()Ljava/lang/Object; throws java/io/ObjectStreamException
   ALOAD 0
   GETFIELD $Runnable_28566c0cafeab.token : 
Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public toString()Ljava/lang/String;
   LDC "<Proxy for RegistryStartup(java.lang.Runnable)>"
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public 
<init>(Lorg/apache/tapestry5/internal/plastic/StaticContext;Lorg/apache/tapestry5/plastic/InstanceContext;)V
   ALOAD 0
   INVOKESPECIAL java/lang/Object.<init> ()V
   ALOAD 0
   ALOAD 1
   ICONST_0
   INVOKEVIRTUAL org/apache/tapestry5/internal/plastic/StaticContext.get 
(I)Ljava/lang/Object;
   CHECKCAST org/apache/tapestry5/ioc/ObjectCreator
   PUTFIELD $Runnable_28566c0cafeab.creator : 
Lorg/apache/tapestry5/ioc/ObjectCreator;
   ALOAD 0
   ALOAD 1
   ICONST_1
   INVOKEVIRTUAL org/apache/tapestry5/internal/plastic/StaticContext.get 
(I)Ljava/lang/Object;
   CHECKCAST org/apache/tapestry5/ioc/internal/ServiceProxyToken
   PUTFIELD $Runnable_28566c0cafeab.token : 
Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;
   RETURN
   MAXSTACK = 0
   MAXLOCALS = 0
}

DEBUG org.apache.tapestry5.ioc.Registry: [  1] <-- Creating proxy for service 
RegistryStartup [87.90 ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  1] --> Realizing service 
RegistryStartup
DEBUG org.apache.tapestry5.ioc.Registry: [  2] --> Instantiating service 
RegistryStartup implementation via 
org.apache.tapestry5.ioc.internal.services.RegistryStartup(Logger, List) (at 
RegistryStartup
.java:36) via 
org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at 
TapestryIOCModule.java:49)
DEBUG org.apache.tapestry5.ioc.Registry: [  3] --> Creating plan to instantiate 
org.apache.tapestry5.ioc.internal.services.RegistryStartup via public 
org.apache.tapestry5.ioc.internal.services.Registr
yStartup(org.slf4j.Logger,java.util.List)
DEBUG org.apache.tapestry5.ioc.Registry: [  4] --> Determining injection value 
for parameter #1 (org.slf4j.Logger)
DEBUG org.apache.tapestry5.ioc.Registry: [  4] <-- Determining injection value 
for parameter #1 (org.slf4j.Logger) [1.49 ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  4] --> Determining injection value 
for parameter #2 (java.util.List)
DEBUG org.apache.tapestry5.ioc.Registry: [  5] --> Collecting ordered 
configuration for service RegistryStartup
DEBUG org.apache.tapestry5.ioc.Registry: [  5] <-- Collecting ordered 
configuration for service RegistryStartup [3.48 ms]
DEBUG org.apache.tapestry5.ioc.services.TapestryIOCModule.RegistryStartup: 
Constructed configuration: []
DEBUG org.apache.tapestry5.ioc.Registry: [  4] <-- Determining injection value 
for parameter #2 (java.util.List) [13.56 ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  3] <-- Creating plan to instantiate 
org.apache.tapestry5.ioc.internal.services.RegistryStartup via public 
org.apache.tapestry5.ioc.internal.services.Registr
yStartup(org.slf4j.Logger,java.util.List) [17.91 ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  3] --> Invoking constructor 
org.apache.tapestry5.ioc.internal.services.RegistryStartup(Logger, List) (at 
RegistryStartup.java:36) via org.apache.tapestry5.i
oc.services.TapestryIOCModule.bind(ServiceBinder) (at 
TapestryIOCModule.java:49) (for service 'RegistryStartup')
DEBUG org.apache.tapestry5.ioc.services.TapestryIOCModule.RegistryStartup: 
Invoking constructor 
org.apache.tapestry5.ioc.internal.services.RegistryStartup(Logger, List) (at 
RegistryStartup.java:36) vi
a org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at 
TapestryIOCModule.java:49) (for service 'RegistryStartup')
DEBUG org.apache.tapestry5.ioc.Registry: [  3] <-- Invoking constructor 
org.apache.tapestry5.ioc.internal.services.RegistryStartup(Logger, List) (at 
RegistryStartup.java:36) via org.apache.tapestry5.i
oc.services.TapestryIOCModule.bind(ServiceBinder) (at 
TapestryIOCModule.java:49) (for service 'RegistryStartup') [0.36 ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  2] <-- Instantiating service 
RegistryStartup implementation via 
org.apache.tapestry5.ioc.internal.services.RegistryStartup(Logger, List) (at 
RegistryStartup
.java:36) via 
org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at 
TapestryIOCModule.java:49) [20.71 ms]
DEBUG org.apache.tapestry5.ioc.Registry: [  1] <-- Realizing service 
RegistryStartup [21.27 ms]
DEBUG org.gambi.experiments.ExperimentAutomationAppModule.SineTraceGenerator: 
Creating proxy for service SineTraceGenerator
DEBUG org.apache.tapestry5.ioc.Registry: [  1] --> Creating proxy for service 
SineTraceGenerator
DEBUG org.apache.tapestry5.ioc.Registry: [  2] --> Obtaining AspectDecorator 
service
DEBUG org.apache.tapestry5.ioc.Registry: [  2] <-- Obtaining AspectDecorator 
service [0.37 ms]
DEBUG org.apache.tapestry5.ioc.services.TapestryIOCModule.PlasticProxyFactory: 
Loading class $TraceGenerator_28566c0cafeac:
// class version 49.0 (49)
// access flags 0x1
public class $TraceGenerator_28566c0cafeac implements 
org/gambi/experiments/services/TraceGenerator java/io/Serializable {


 // access flags 0x12
 private final Lorg/apache/tapestry5/ioc/ObjectCreator; creator

 // access flags 0x12
 private final Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken; token

 // access flags 0x1
 public generateTrace(J)V
   ALOAD 0
   INVOKESPECIAL $TraceGenerator_28566c0cafeac.delegate 
()Lorg/gambi/experiments/services/TraceGenerator;
   LLOAD 1
   INVOKEINTERFACE org/gambi/experiments/services/TraceGenerator.generateTrace 
(J)V
   RETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public generateTrace(JJ)V
   ALOAD 0
   INVOKESPECIAL $TraceGenerator_28566c0cafeac.delegate 
()Lorg/gambi/experiments/services/TraceGenerator;
   LLOAD 1
   LLOAD 3
   INVOKEINTERFACE org/gambi/experiments/services/TraceGenerator.generateTrace 
(JJ)V
   RETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public generateTrace(JLjava/lang/String;)V
   ALOAD 0
   INVOKESPECIAL $TraceGenerator_28566c0cafeac.delegate 
()Lorg/gambi/experiments/services/TraceGenerator;
   LLOAD 1
   ALOAD 3
   INVOKEINTERFACE org/gambi/experiments/services/TraceGenerator.generateTrace 
(JLjava/lang/String;)V
   RETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public generateTrace(JJLjava/lang/String;)V
   ALOAD 0
   INVOKESPECIAL $TraceGenerator_28566c0cafeac.delegate 
()Lorg/gambi/experiments/services/TraceGenerator;
   LLOAD 1
   LLOAD 3
   ALOAD 5
   INVOKEINTERFACE org/gambi/experiments/services/TraceGenerator.generateTrace 
(JJLjava/lang/String;)V
   RETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public generateTraceAsMap(J)Ljava/util/Map;
   ALOAD 0
   INVOKESPECIAL $TraceGenerator_28566c0cafeac.delegate 
()Lorg/gambi/experiments/services/TraceGenerator;
   LLOAD 1
   INVOKEINTERFACE 
org/gambi/experiments/services/TraceGenerator.generateTraceAsMap 
(J)Ljava/util/Map;
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1010
 final reject_field_change_creator(Lorg/apache/tapestry5/ioc/ObjectCreator;)V
   NEW java/lang/IllegalStateException
   DUP
   LDC "Field creator of class $TraceGenerator_28566c0cafeac is read-only."
   INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
   ATHROW
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1010
 final 
reject_field_change_token(Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;)V
   NEW java/lang/IllegalStateException
   DUP
   LDC "Field token of class $TraceGenerator_28566c0cafeac is read-only."
   INVOKESPECIAL java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
   ATHROW
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x2
 private delegate()Lorg/gambi/experiments/services/TraceGenerator;
   ALOAD 0
   GETFIELD $TraceGenerator_28566c0cafeac.creator : 
Lorg/apache/tapestry5/ioc/ObjectCreator;
   INVOKEINTERFACE org/apache/tapestry5/ioc/ObjectCreator.createObject 
()Ljava/lang/Object;
   CHECKCAST org/gambi/experiments/services/TraceGenerator
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x2
 private writeReplace()Ljava/lang/Object; throws java/io/ObjectStreamException
   ALOAD 0
   GETFIELD $TraceGenerator_28566c0cafeac.token : 
Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public toString()Ljava/lang/String;
   LDC "<Proxy for 
SineTraceGenerator(org.gambi.experiments.services.TraceGenerator)>"
   ARETURN
   MAXSTACK = 0
   MAXLOCALS = 0

 // access flags 0x1
 public 
<init>(Lorg/apache/tapestry5/internal/plastic/StaticContext;Lorg/apache/tapestry5/plastic/InstanceContext;)V
   ALOAD 0
   INVOKESPECIAL java/lang/Object.<init> ()V
   ALOAD 0
   ALOAD 1
   ICONST_0
   INVOKEVIRTUAL org/apache/tapestry5/internal/plastic/StaticContext.get 
(I)Ljava/lang/Object;
   CHECKCAST org/apache/tapestry5/ioc/ObjectCreator
   PUTFIELD $TraceGenerator_28566c0cafeac.creator : 
Lorg/apache/tapestry5/ioc/ObjectCreator;
   ALOAD 0
   ALOAD 1
   ICONST_1
   INVOKEVIRTUAL org/apache/tapestry5/internal/plastic/StaticContext.get 
(I)Ljava/lang/Object;
   CHECKCAST org/apache/tapestry5/ioc/internal/ServiceProxyToken
   PUTFIELD $TraceGenerator_28566c0cafeac.token : 
Lorg/apache/tapestry5/ioc/internal/ServiceProxyToken;
   RETURN
   MAXSTACK = 0
   MAXLOCALS = 0
}

DEBUG org.apache.tapestry5.ioc.Registry: [  1] <-- Creating proxy for service 
SineTraceGenerator [6.48 ms]
Exception in thread "main" java.lang.ClassCastException: 
$TraceGenerator_28566c0cafeac cannot be cast to 
org.gambi.experiments.services.impl.SineTraceGenerator
   at 
org.gambi.experiments.ExperimentAutomation.main(ExperimentAutomation.java:50) 

Reply via email to