2014-05-03 72 views
1

我通常使用scala 2.10.x。 由於我無法控制的組件的一些限制,我必須使用kafka客戶端版本0.7.2然而,kakfa的這個版本只能用scala版本2.9.2進行編譯,並且不適用於scala 2.10版本。 注意:我不能使用較新版本的kafka,它不工作,我無法控制實際的kafka版本,所以我必須使用此客戶端版本。 ,所以我必須使用卡夫卡客戶端0.7.2使用多次戰爭來解析多個scala版本

所以我不得不多種選擇:

  1. 0.7.2卡夫卡客戶端的下載源,使用Scala編譯2.10在源不幸的是太多的變化來進行。
  2. 使用jarajar和更新scala-library.jar有一個前綴包裝類似scala.* -> scala.29.*,然後更新客戶端卡夫卡0.7.2從scala.29.*我想,和這裏有問題導入類。
  3. 這就是我現在要做 - 創建另一個.war在我的Tomcat Web服務器,如tomcat會加載不同的戰爭有不同的類加載器,我可以從我原來war從我war1送我卡夫卡的請求,而不是war2war2將是一個簡單的網絡應用程序,它將容納一個簡單的kafka client 0.7.2

我的問題:選項3聽起來明智嗎?我有關於它的開銷的一些想法,如果我發送GET請求到localhost只是因爲我有多個wars來解決有多個類加載器問題有多好/壞?

回答

1

最終用scala 2.10編譯了kafka客戶端0.7.2,並不難,一切正常。