2009-07-22 10 views
1

Mavenビルド環境でJettyのJOTM ontopを設定できませんでした。Maven、Jetty、JOTM

2009-07-21 19:47:23.499::WARN: Config error at <New id="UserTransaction" class="org.mortbay.jetty.plus.naming.Transaction"><Arg> 
       <Ref id="ut"/> 
      </Arg></New> 
    [INFO] Jetty server exiting. 
    [INFO] ------------------------------------------------------------------------ 
    [ERROR] BUILD ERROR 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] Failure 

    A flat name can only have a single component 

私はリファレンスとしてこれを使用しています:私は自分のアプリケーションを実行しようとすると、私が手に例外は以下の通りですMavenののpom.xmlでhttp://docs.codehaus.org/display/JETTY/JOTM

jetty.xml (jettyConfigを、これは実際にありますこれは見たが、例外から、このさえも関連しているされているので、わからない()

<?xml version="1.0"?> 
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> 
<Configure id="Server" class="org.mortbay.jetty.Server"> 
<!-- Configure a Jotm instance which provides a javax.transaction.TransactionManager  --> 
    <!-- and a javax.transaction.UserTransaction implementation.        --> 
    <New id="jotm" class="org.objectweb.jotm.Jotm"> 
     <Arg type="boolean">True</Arg> 
     <Arg type="boolean">False</Arg> 
     <Call id="tm" name="getTransactionManager"/> 
     <Call id="ut" name="getUserTransaction"/> 
    </New> 

    <!-- Set up the UserTransaction impl from JOTM as the transaction manager for jetty  --> 
    <!-- 
    <New id="UserTransaction" class="org.mortbay.jetty.plus.naming.Transaction"> 
     <Arg> 
      <Ref id="ut"/> 
     </Arg> 
    </New> 
    --> 
    <New id="userTransaction" class="org.mortbay.jetty.plus.naming.Resource"> 
     <Arg></Arg> 
     <Arg>javax.transaction.TransactionManager</Arg> 
     <Arg> 
      <Ref id="ut"/> 
     </Arg> 
    </New> 


    <New id="tx" class="org.mortbay.jetty.plus.naming.Transaction"> 
     <Arg> 
      <Ref id="ut"/> 
     </Arg> 
    </New> 

    <!-- If you want to be able to set up more references in webapp specific files --> 
    <!-- such as context deployment files and WEB-INF/jetty-env.xml files, you  --> 
    <!-- need to save a reference to the JOTM tm object:       --> 
    <!-- 
    <Call name="setAttribute"> 
    <Arg>tm</Arg> 
    <Arg><Ref id="tm"/></Arg> 
    </Call> 
    --> 
</Configure> 

carol.propertiesを見られて?)

carol.start.ns=false 
carol.start.jndi=false 
carol.protocols=jrmp 
carol.start.rmi=false 
carol.jvm.rmi.local.call=true 
carol.jndi.java.naming.factory.url.pkgs=org.mortbay.naming 

アイデア?

おかげで、 ウォルター

プロジェクトでcarol.propertiesに位置しています

答えて

0

Mavenリソースはsrc/main/resourcesにある必要があります。 Jettyは、carol.propertiesがresourcesフォルダ内にあることを期待しています。

carol.propertiesをsrc/main/resources/resourcesに移動して、Jettyを起動する前にプロセスリソース段階でファイルをターゲット/リソースにコピーする必要があるかもしれません。

+0

トランザクション処理の結果に影響を与えないので、私の例では、この例外が

try { ret = ctx.proceed() tx.commit() } catch (org.omg.CORBA.BAD_INV_ORDER e) { //nop } catch (Throwable e) { tx.rollback() throw new TransactionException(e.getMessage()) } 

を無視される - [OK]を、私は後でしようとします。うまくいけばそれは私が必要なすべてですか? エラーは設定の問題のように聞こえますが(構文)、後で試してみます。 –

+0

私はそれを試みましたが、私は同じメッセージを得ています。戦争を構築するときのcarol.propertiesの場所は次のとおりです。 /WEB-INF/classes/resources/carol.properties –

0

あなたの代わりにキャロルが自分のcarol.jar/carol.propertiesファイルを使用しているようです。 私は、修正されたcarol.jar/carol.propertiesファイルを持つjetty 8のjtaを使ったサンプルプロジェクトを用意しました。そこにはhttp://github.com/beolnix/jta-in-jetty8です。すべてがOK(コミット、ロールバック - 問題なし)だと思われますが、時にはorg.omg.CORBA.BAD_INV_ORDER例外が表示されます。それはうーん

関連する問題