Thanks for your great work.
It's a shame that Webbeans spec team has little respect of Resin.
I've googled for "webbeans resin" and found only 1060 results, really 
shamed.

I'll introduce resin's webbeans implementation to everyone I have influence 
on in China.

-Wesley

----- Original Message ----- 
From: "Scott Ferguson" <[EMAIL PROTECTED]>
To: "General Discussion for the Resin application server" 
<resin-interest@caucho.com>
Sent: Wednesday, April 23, 2008 2:03 AM
Subject: Re: [Resin-interest] <database> config should be 
initializedbeforeany singleton beans


>
> On Apr 22, 2008, at 10:51 AM, wesley wrote:
>
>> So singleton beans will also got a lazy load after DataSource, right?
>
> It should, but the logic is sufficiently complicated that there might
> be a case that's not working.
>
> The current code basically has three phases:
>
>   1. configuration and class-enhancement
>   2. binding
>   3. startup
>
> The configuration/class-enhancement is the trickiest phase, since it
> may involve bytecode enhancement.  If a class that needs enhancement
> (like JPA) gets loaded too soon, it can't be properly bytecode-enhanced.
>
> The configuration phase will also register any webbeans, and configure/
> register the DataSource.
>
> The binding phase is when the dependency injection gets resolved.
> Because the beans are already registered (in phase #1), circular
> references will work.
>
> Finally, the startup phase initializes servlets, listeners,
> singletons, etc.
>
> So singletons will be resolved after the DataSource is configured.
>
>> Thanks, Scott.
>>
>> ps. Do you have time to look at my previous post about how to config
>> jca
>> connection pool max-active-time?
>
> Yep.  My response should have crossed yours on the list.
>
> -- Scott
>
>>
>>
>> ----- Original Message -----
>> From: "Scott Ferguson" <[EMAIL PROTECTED]>
>> To: "General Discussion for the Resin application server"
>> <resin-interest@caucho.com>
>> Sent: Tuesday, April 22, 2008 10:35 PM
>> Subject: Re: [Resin-interest] <database> config should be initialized
>> beforeany singleton beans
>>
>>
>>>
>>> On Apr 22, 2008, at 2:45 AM, wesley wrote:
>>>
>>>> Hi Scott,
>>>>
>>>> I'm upgrading snap080331 to snap080417. I found my hibernate
>>>> persistence unit not
>>>> working, with no jta-data-source configured.
>>>> I added 080417 src into my project and traced for a while and found
>>>> the reason.
>>>
>>> This is something I worked on yesterday.  The next snapshot should
>>> have the fix.
>>>
>>> The fix involves making the persistence.xml lookup of the dataSource
>>> lazy, so it only occurs using web-app start time, not at
>>> persistence.xml start.
>>>
>>> -- Scott
>>>
>>>>
>>>>
>>>> I put an breakpoint at com.caucho.naming.Jndi.bindImpl(...)  line:91
>>>> and recorded
>>>> the jndi resources registered at order below:
>>>>  "java:comp/env/jmx/MBeanServer"  ...
>>>>  "java:comp/env/jmx/GlobalMBeanServer"   ...
>>>>  "java:comp/UserTransaction"   ...
>>>>  "java:comp/TransactionManager"   ...
>>>>  "java:/TransactionManager"  ...
>>>>  "java:comp/ThreadPool"
>>>>  "java:comp/env/caucho/persistent-store"
>>>> and then my singleton beans were then initialized, then
>>>>  "java:comp/env/jdbc/stock"      // my <database> config in resin-
>>>> web.xml
>>>>  "java:comp/env/activemq"        // my <connection-factory> config
>>>> in resin-web.xml
>>>>
>>>> Some of singleton beans need to access database by inject a EMF, so
>>>> amber start to
>>>> load persistence unit. During parsing the persistence.xml, the xml
>>>> config will set the
>>>> "jta-data-source" property of the
>>>> com.caucho.amber.cfg.PersistenceUnitConfig object
>>>> by reflection. Before doing it, it will call JNDI.lookup to find the
>>>> DataSource with name
>>>> specified in persistence.xml, of cource nothing found! It was not
>>>> registered yet!
>>>>
>>>> I switched to snapshot080331 binary and still retained some src of
>>>> 080417 (src package:
>>>> com.caucho.amber, com.caucho.config, com.caucho.naming) then traced
>>>> it again.
>>>> This time I recored the the jndi resources registered at order below
>>>>  "java:comp/env/jmx/MBeanServer"  ...
>>>>  "java:comp/env/jmx/GlobalMBeanServer"   ...
>>>>  "java:comp/UserTransaction"   ...
>>>>  "java:comp/TransactionManager"   ...
>>>>  "java:/TransactionManager"  ...
>>>>  "java:comp/ThreadPool"
>>>>  "java:comp/env/caucho/persistent-store"
>>>>  "java:comp/env/jdbc/stock"      // my <database> config in resin-
>>>> web.xml
>>>>  "java:comp/env/activemq"        // my <connection-factory> config
>>>> in resin-web.xml
>>>> and then my singleton beans were then initialized.
>>>> This is the right sequence.
>>>>
>>>> Though I didnot do further test, I think problem were not belonged
>>>> to the three packages
>>>> I retained during the two snapshot version switch.
>>>>
>>>> Suggestions are appreciated, thanks.
>>>>
>>>> -Wesley
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>
>>
>>
>> _______________________________________________
>> 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
> 



_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to