one possibility of the problem:

* Tasks was now initialized before any(maybe some of)
@ApplicationScoped/@Singleton bean initialized.
* If a task need to inject a bean which was not prepared by the CanDI
container yet (I.E. an EntityManagerFactory) , it will not be injected.


2010/3/14 Hontvári József <hontv...@flyordie.com>

>  The workaround recommended by Wesley would work (using
> javax.enterprise.inject.Instance, I tried it, it doesn't throw
> StackOverflowError), assuming that there is only one instance, but there is
> more then one in my case.
> Using setter injection instead of constructor injection, but using @Startup
> doesn't work either, StackOverflowError is thrown here too.
>
>
> Hontvári József írta:
>
> I have downloaded 4.0.4 but it still throws StackOverflowError on the same
> example configuration file.
>
> Scott Ferguson írta:
>
> Hontvári József wrote:
>
>
>  The name of the first class is misleading (maybe Scheduled... would have
> been better, it is executing scheduled tasks itself), Resin's scheduler
> hasn't been involved in the configuration. But the issue is either the
> same or we have two independent issues. If I remove the constructor
> initialization by creating an empty constructor and use setter instead
> of it, then the CanDI initialization does completes. However, if I add
> @Startup annotation, so a class instance is actually created, then I
> again receive StackOverflow.
>
>
>
>  Thanks. I have this fixed for 4.0.4.
>
> -- Scott
>
>
>  Wesley Wu írta:
>
>
>
>  This could be a lazy init problem I think.
>
> The scheduled tasks would be inited before some of other beans which
> the tasks need.
>
> I've met this before.
>
> The workaround:
> Inject the Injector into your task, no other webbeans.
> When the task starts (run()), create webbeans instances via the injector.
>
> -Wesley
>
> 2010/2/11 Hontvári József <hontv...@flyordie.com> <hontv...@flyordie.com>:
>
>
>
>
>  I reduced the configuration to the minimum. It consists of a circular setter
> dependency, and then a separate third constructor initialization which
> refers to one of circular items. Both have to be present, otherwise
> StackOverflow doesn't happen. I attached a configuration sample and a part
> of the log file, logged on "finer" level.
>
> Scott Ferguson írta:
>
> Hontvári József wrote:
>
>
> I receive java.lang.StackOverflowError when Resin tries to read the
> configuration file:
>
> [10-02-10 10:31:56.929] {resin-37}
> C:/Progra~1/mireka-1.2/conf/mireka.xml:325: com.caucho.confi
> g.core.ResinIf.init(): java.lang.StackOverflowError
>
> I believe there is no circular constructor dependency in the file. To be
> sure I replaced almost all constructor initialisation blocks with setter
> initialization. Is there a way to debug this error? There is no stack
> trace or anything else in the log.
>
>
>
> Can you send that section of the configuration file? It looks like it's
> something to do with the <resin:if> like the test EL expression,
> although it could also be the contents of the if.
>
> Also, it's possible that adding a <logger name="" level="finer"/> in the
> <resin> section will show the stack trace.
>
> -- Scott
>
>
>
>
>  _______________________________________________
> resin-interest mailing 
> listresin-inter...@caucho.comhttp://maillist.caucho.com/mailman/listinfo/resin-interest
>
>
>      _______________________________________________
> resin-interest mailing 
> listresin-inter...@caucho.comhttp://maillist.caucho.com/mailman/listinfo/resin-interest
>
>
> ------------------------------
>
> _______________________________________________
> resin-interest mailing 
> listresin-inter...@caucho.comhttp://maillist.caucho.com/mailman/listinfo/resin-interest
>
>
>
> _______________________________________________
> resin-interest mailing list
> resin-interest@caucho.com
> http://maillist.caucho.com/mailman/listinfo/resin-interest
>
>
_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to