dev@glassfish.java.net

Re: [OndemandServer] EJB Service

From: Sherry Shen <Sherry.Shen_at_Sun.COM>
Date: Tue, 26 Feb 2008 21:10:39 -0800
Hi Tang,

I created a new connection pool using Network Derby.
The details are:
-- creating timer table in Derby with  the file from the build,
   $GLASSFISH_HOME/lib/install/databases/ejbtimer_derby.sql
-- creating pool, resource, set cluster timer service for created cluster,
% asadmin create-cluster --port 4849 --user admin  sqe-cluster
% asdmin create-jdbc-connection-pool --user admin --port 4849
    --target sqe-cluster --property
    User=dbuser:Password=dbpassword:dataBaseName=testdb:serverName=localhost:
    portNumber=1527:create=true:retrieveMessagesFromServerOnGetMessage=true
    --datasourceclassname org.apache.derby.jdbc.ClientDataSource 
    --restype   javax.sql.DataSource ejbTimerPool
% asadmin  create-jdbc-resource  --user admin --port 4849
   --target sqe-cluster  --connectionpoolid ejbTimerPool  jdbc/ejbTimerPool
% asadmin set --user admin --port 4849
    sqe-cluster-config.ejb-container.ejb-timer-service.timer-datasource=jdbc/ejbTimerPool


The default timer pool using Embedded Derby,  I thought it may be a convenient
way and tried it first by creating resource, set cluster timer service similarly as above,
% asadmin  create-jdbc-resource  --user admin --port 4849
   --target sqe-cluster  --connectionpoolid __TimerPool  jdbc/ejbTimerPool
I observed an error during cluster startup,
RAR5005:Error in accessing XA resource with JNDI name [__TimerPool]
for recovery.

Then, I tried to use Network Derby and thought the Network Derby may
be better way for cluster since cluster instances are in different jvm.  

Thanks!

Sherry

Tang Yong wrote, On 2/26/2008 5:42 PM:
Hi Sherry,

   I want to know whether you create a new connection pool using Network Derby or not?

   1) If yes, I think that when switching Cluster mode, this seems inconvenient.
  
    2) If not, did you modify the properties of connection pool  related to Derby?
        if yes, I think that this is a glassfish bug. At least, I think that the domain.xml.template(cluster mode) 
       should be modified.

Your idea?
Could you please explain in more details?

--Tang

Thanks!
Best Regard!

  
Hi Wu,

Thanks for confirming and explaining the issue.
After I used Network Derby as the connection-pool for EJB Timer Service,
the cluster instance started with correct EJB Timer Service. :-)

Sherry

呉傑 wrote:
    
Hi Sherry

I have ever met  the problem you encounterred.
You used Embedded Derby for the connection-pool for EJB Timer Service.
and Embedded Derby can only be accessed by standalone instance. So the
instance in cluster mode can not access it, and the error in the 
pattern B
you mentioned happened.

Thanks.
Wu.

Sherry Shen さんは書きました:
      
呉傑 wrote, On 2/25/2008 10:30 PM:

        
Hi Binod,

Thanks for your quik and aspiring reply.

          
I have the following questions about EJB Timer Service.
1, Is EJB Timer Service initialized when DAS startup or Cluster 
startup.
              
Yes. It is initialized.
            
Excuse, I am eager to confirm the following question again.
Is it initialized in the DAS startup process or cluster startup 
process?

Thanks a lot.
-Wu.

          
Thanks for the discussion.   I am looking at a similar issue.

A.  From DAS start up on default domain1,  DAS server.log shows:
[#|2008-02-25T22:32:48.589-0800|INFO|sun-appserver9.1|
javax.enterprise.system.container.ejb|_ThreadID=17;
_ThreadName=pool-1-thread-8;jdbc/__TimerPool;|
EJB5109:EJB Timer Service started successfully for datasource
[jdbc/__TimerPool]|#]

[#|2008-02-25T22:32:48.590-0800|INFO|sun-appserver9.1|
javax.enterprise.system.core.classloading|_ThreadID=17;_ThreadName=
pool-1-thread-8;__ejb_container_timer_app;|LDR5010: All ejb(s) of
[__ejb_container_timer_app] loaded successfully!|#]


B. From a cluster startup on a created domain, the server.log in
one of the instance shows:
[#|2008-02-25T15:15:12.392-0800|WARNING|sun-appserver9.1|
javax.enterprise.system.container.ejb|_ThreadID=16;_ThreadName=
pool-1-thread-4;TimerBean;_RequestID=34f432e5-415a-4420-8862-0286c8cdc752; 

|EJB5108:Unable to initialize EJB Timer Service. The likely cause is the
database has not been started or the timer database table has not 
been created.|#]

[#|2008-02-25T15:15:12.449-0800|INFO|sun-appserver9.1|
javax.enterprise.system.core.classloading|_ThreadID=16;_ThreadName=
pool-1-thread-4;__ejb_container_timer_app;|LDR5010: All ejb(s) of
[__ejb_container_timer_app] loaded successfully!|#]

How to resolve "EJB5108:Unable to initialize EJB Timer Service"

Thanks!

Sherry

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: dev-help@glassfish.dev.java.net



        
      
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: dev-help@glassfish.dev.java.net



    


A new email address of FJWAN is launched from Apr.1 2007.
The updated address is: tangyong@cn.fujitsu.com
--------------------------------------------------
Tang Yong
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
8/F., Civil Defense Building, No.189 Guangzhou Road,
Nanjing, 210029, China
TEL: +86+25-86630566-917
FUJITSU INTERNAL: 79955-917
FAX: +86+25-83317685
EMail: tangyong@cn.fujitsu.com
--------------------------------------------------
This communication is for use by the intended recipient(s) only and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not an intended recipient of this communication, you are hereby notified that any dissemination, distribution or copying hereof is strictly prohibited.  If you have received this communication in error, please notify me by reply e-mail, permanently delete this communication from your system, and destroy any hard copies you may have printed