Я пытаюсь настроить кластер Glassfish (1 DAS с кластером, экземпляр которого запущен на узле ssh).
Вот где я:
Кластер создан
asadmin create-cluster cluster
Узел создан
asadmin create-node-ssh --nodehost apphost --installdir /opt/glassfish3 node-apphost
Экземпляр установлен и настроен
asadmin create-instance --node node-apphost --cluster cluster cluster-instance-apphost
Когда я пытаюсь запустить удаленный экземпляр, я получаю эти исключения в server.log
[#|2013-02-05T12:42:28.603-0500|WARNING|glassfish3.1.2|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=10;_ThreadName=Thread-2;|Cannot deploy or load EJBTimerService:
java.lang.RuntimeException: javax.naming.NamingException: Lookup failed for 'jdbc/__TimerPool' in SerialContext[myEnv={com.sun.enterprise.connectors.jndisuffix=__pm, java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: jdbc]
at org.glassfish.
Экземпляр запускается, но развертывание моего приложения не выполняется с
Exception while loading the app : EJB Timer Service is not available
Я попытался установить для свойства конфигурации configs.config.cluster-config.ejb-container.ejb-timer-service.timer-datasource значение «jdbc / __ default» (после очистки узла даже воссоздать кластер) в качестве test в соответствии с документами GF - хотя на данный момент я совершенно уверен, что это не приведет к фактическому подключению к какой-либо удаленно доступной базе данных, поскольку у меня нет такой настройки - суть в том, что независимо от того, что я делаю, я все еще вижу удаленный экземпляр пытается найти "jdbc / __ TimerService" ..
Как мне заставить мой удаленный экземпляр использовать источник данных таймера, определенный в его конфигурации кластера?
В Руководстве по разработке приложений Oracle GlassFish Server 3.1
http://docs.oracle.com/cd/E18930_01/html/821-2418/beahw.html
вы можете увидеть эту строку:
Внимание! Не используйте ресурс jdbc / __ TimerPool для таймеров в кластерных средах GlassFish Server. Вместо этого вы должны использовать пользовательский ресурс JDBC или ресурс по умолчанию jdbc / __. См. Инструкции ниже в разделе «Развертывание таймера EJB в кластере». Также обратитесь к разделу «Включение ресурса по умолчанию jdbc / __ в кластерной среде» в Руководстве администратора Oracle GlassFish Server 3.1.