2014-02-27 101 views
3

我有我的Web應用程序在WebSphere 6.0上運行,還有一些Quartz Scheduler任務。如果我做這樣的查找在hibernate.cfg.xml:Websphere 6 UserTrasaction和Quartz Scheduler的JNDI問題

<property name="jta.UserTransaction">java:comp/UserTransaction</property> 

它正常工作與我的Web應用程序,而是由石英計時器啓動的任何線程無法使用查詢字符串來訪問數據庫。但如果我使用

<property name="jta.UserTransaction">jta/usertransaction</property> 

然後它是相反的。我將得到石英計時器,但我無法在我的Web應用程序中執行查找。

有什麼辦法可以使它們都工作在相同的休眠配置下?

EDT:這是我的quartz.properties文件。順便說一句Quartz Version是1.5.2。

org.quartz.scheduler.instanceName = TestScheduler 
org.quartz.scheduler.instanceId = one 


org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool 
org.quartz.threadPool.threadCount = 5 
org.quartz.threadPool.threadPriority = 4 

org.quartz.jobStore.misfireThreshold = 5000 

org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore 
+0

你也可以發佈你的Quartz配置,所以我們可以幫你嗎? – Julien

+0

quartz.properties文件? –

+0

在WAS中不建議使用Quartz計劃解決方案。 –

回答

0

我不知道這是否與您有關,但我最近有類似的問題。我的問題是遠程和本地訪問,並稍微改變了我的設計,並將接口名稱添加到我的@Local & @Remote註釋中。

+0

我認爲這並不相關,因爲我的項目中沒有使用EJB。 –

0

我想你錯過了quartz.properties中的事務管理。 事情是這樣的:

org.quartz.scheduler.userTransactionURL=jta/usertransaction 
org.quartz.scheduler.wrapJobExecutionInUserTransaction=true 

這樣做是爲了告訴石英包裹作業執行的交易,並在那裏得到它。