Назад | Перейти на главную страницу

Не удается заставить Glassfish 3.1.2.2 использовать что-либо, кроме jdbc / __ TimerService для службы таймера EJB

Я пытаюсь настроить кластер Glassfish (1 DAS с кластером, экземпляр которого запущен на узле ssh).

Вот где я:

Когда я пытаюсь запустить удаленный экземпляр, я получаю эти исключения в 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.