I'm trying to deploy a SingletonService on WLS9.2. I've created a POJO which implements the weblogic.cluster.singleton.SingletonService interface. I've declared the SingletonService on weblogic-application.xml descriptor, deployed it, and defined the new SingletonService for my cluster using the Admin console. When restarting the cluster, the logs show: <BEA-000187> <The Singleton Service Throttler is now registered on this server. This server may be chosen to host this service.>.
However, I can't see the activate() method being called for any server... I've put tracing on it, and the method is definetely not being called for any of the servers in the cluster..
First question: would anybody have an idea why the service is not being activated on any cluster node when the application is started? Do I need to do something else than creating a class that implements SingletonService interface, declare it on weblogic-application.xml and also on the admin console for the cluster I'd like it hosted?
Second question: how can a client access this service? Does Weblogic has an API or something for client applications to get an instance of the SingletonService? or maybe it registers the service on the JNDI tree? Or it's up to the service developer to provide a way for the clients to access it?
If you are not using node managers to manage your managed instances then you will have to setup migration and configure (existing or new) a datasource with the table (used for managing leases) thats used for database based migration.
Read the "Setting Up Server Migration" section in weblgoic clustering docs for more information.