2014-01-29 77 views
26

根據您的說法,使用Spring 4jersey-spring3集成模塊有什麼風險?與彈簧4.0一起使用澤西彈簧

我試圖使用Spring 4.0與jersey spring example和該示例仍然有效,但我無法確定與此用法相關的風險。

+0

你是什麼意思的風險?我們使用Spring 4.x和Jersey 2.5.x,到目前爲止我們還沒有遇到任何問題。你有什麼特別的想法? – pgiecek

+1

我沒有記住任何東西。我會知道是否有人對使用Spring4.x而不是3.x的jersey-spring3可能導致的可能問題有所瞭解,這似乎是爲了處理Spring 3.X而不是4.x.謝謝。 – guli

+0

你有沒有得到任何進一步的經驗,古麗? –

回答

10

我最近在項目中開始使用Jersey 2.7和Spring 4.0.x。我已經設置了一個上下文層次結構來注入bean,到目前爲止,我只發現了one limitiation,但這似乎與Spring 4沒有關係,而是與模塊本身或HK2 Spring Bridge相關。

給我更多的使用見解。我有一個XJC/JAXB支持,它被一個公共服務,存儲庫使用,並通過JAX-WS公開,現在希望通過JAX-RS公開。

多語境的東西現在適用於@Autowired2.8-SNAPSHOT。我已將我的更改和2.8-SNAPSHOT應用於2.7。這裏是diff

編輯(Michael-O; 2014-10-17):Here是基於2.11的基於多上下文支持的修改後的Spring模塊。

+0

@ Michael-O-感謝您的幫助。我所理解的是我必須準備一個應用你的補丁的罐子,以使球衣能夠在春季4中工作。爲此,我下載了Jersey 2.11。導入'jersey-spring3'項目並應用您在github上共享的路徑(從補丁中替換所有課程)。嘗試構建一個jar。但它仍然給我同樣的錯誤「ServletContext不能爲空」。讓我知道如果我跟隨錯誤的錯誤步驟。謝謝 – hemu

+0

@hemu,你可以在pastebin上分享整個stacktrace嗎?我有幾個定製的Spring 4/Jersey組件,可以完美地工作。您的設置中必須缺少一些內容。另一個問題,我有這個在Tomcat 6上運行,但它不應該有所作爲。 –

+0

@ Michael-O - 請在[this](http://pastebin.com/ns3SnUGN)查看完整的堆棧跟蹤鏈接 – hemu

3

不知道你是否遇到過任何問題,但我目前正面臨一個問題。它在other thread中描述。

簡單地說,在一個Maven項目使用的球衣,spring3 2.12和春季4.1.0.RELEASE導致下面的類不兼容:

2014-09-14 01:15:44.175:WARN:oejuc.AbstractLifeCycle:main: FAILED [email protected] 
db620[[email protected]ca[[email protected]{/,file:/C 
:/Users/Josef/Workspace/TransitCenter/src/main/webapp/,STARTING}{file:/C:/Users/Josef/Workspace/TransitCenter/src/main/w 
ebapp/}], [email protected], [email protected] 
d986d83]: java.lang.NoSuchMethodError: org.springframework.beans.factory.support.DefaultListableBeanFactory.getDependenc 
yComparator()Ljava/util/Comparator; 
java.lang.NoSuchMethodError: org.springframework.beans.factory.support.DefaultListableBeanFactory.getDependencyComparato 
r()Ljava/util/Comparator; 
     at org.springframework.context.annotation.AnnotationConfigUtils.registerAnnotationConfigProcessors(AnnotationCon 
figUtils.java:136) 
+2

我不確定,但我認爲你需要忽略jersey-spring3依賴來彈簧,以確保使用Spring 4. – guli

+6

最終這是真的。從平針織彈簧3中排除彈簧芯,彈簧腹板和彈簧豆3。 – jspetrak

5

不是一個答案,原來的問題,只是相關的信息

這可能有點不成熟,但新的Major 3.0版本的Jersey將在新的jersey-spring4模塊中使用Spring 4。新的主要版本將用Java 8構建。儘管將發佈一個新的主版本,但仍然會積極開發2.x版本以保持對Java 7的支持

我會在3.0版本更新之後更新此帖子發佈。

對於任何有興趣的人,你可以看到this mailing list看到澤西團隊對新的3.x系列有什麼看法。

+0

「新」代碼與以前一樣蹩腳。 'spring3'剛剛改名 - 沒有任何改進。 –

+0

更新:澤西島2.26現在使用春季4. –

+0

看起來像它被釋放:http://mvnrepository.com/artifact/org.glassfish.jersey.ext/jersey-spring4/2.26 –