1

私はEJBを持っています:

@Stateless(mappedName = "MetadataFacade")
public class MetadataFacade implements MetadataFacadeRemote {

および以下を使用して構成された openEJB:

-Dopenejb.jndiname.format={ejbClass.simpleName}#{interfaceClass}

組み込みの openEJB が開始されると、openejb.jndiname.format オプションが無視され、正しくない JNDI 名が作成されます。

INFO   info, Jndi(name=MetadataFacade) --> Ejb(deployment-id=MetadataFacade)

openejb.jndiname.format オプションを使用して次のような JNDI 名を作成するように構成するにはどうすればよいですか。

MetadataFacade#my.package.MetadataFacadeRemote

?

openEJB でそれができない場合は、回避策を教えていただければ幸いです。

4

2 に答える 2

0

説明されているユースケースはサポートされていないため、パッチを作成しました

マップされた名前.patch

これにより、元の動作が無効になり、代わりに、 openejb.jndiname.formatで使用できる新しい変数ejbClass.mappedNameが追加されます。


パッチは、次のヘッド(リビジョン1034599)用です。

 http://svn.apache.org/repos/asf/openejb/tags/openejb-3.1.4

以下を使用してソースルートに適用します。

patch -p0 -i mappedName.patch

次に、以下を使用してopenEJBをビルドします。

mvn -Dmaven.{test,itest}.skip -Dassemble clean install

と追加

container / openejb-core / target / openejb-core-3.1.4.jar

最初のエントリとしてクラスパスに追加します。

于 2011-08-25T22:17:27.000 に答える
0

今は何もありませんが、おそらくフラグを追加してこれを構成できます。どのバージョンを使用していますか?

于 2011-08-08T19:34:00.850 に答える