dev@glassfish.java.net

Re: [OndemandServer] EJB Service

From: Tang Yong <tangyong_at_cn.fujitsu.com>
Date: Wed, 27 Feb 2008 13:29:29 +0800

Hi Sherry,

   Thanks your reply in details.

   I have known your operation way and I still say,
  
   From the view point of the user(may be the appserver's admin),
Creating a new connection pool in cluster mode in order to make
the timer service effective is not convenient.

   From the java.net forum, I have already seen a post which described
the EJBTimer Problem in Cluster Profile, and kedar should also know
the problem.

   In the meanwhile, I think that domain.xml.template may be modified.
If you/I/he/she only make test using glassfish , it is not a problem.As a
product, appserver should resolve it to reach the availability.

Thanks!

--Tang

Best Regard!


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_at_glassfish.dev.java.net
For additional commands, e-mail: dev-help_at_glassfish.dev.java.net



        
      
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
For additional commands, e-mail: dev-help_at_glassfish.dev.java.net



    


A new email address of FJWAN is launched from Apr.1 2007.
The updated address is: tangyong_at_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_at_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
  

--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
A new email address of FJWAN is launched from Apr.1 2007.
The updated address is: tangyong_at_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_at_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