質問

私はJbossとして7と、EJB3.1を使用する私のアプリケーションで奇妙な振る舞いに直面しています。 Beanを正常に検索しますが、インターフェイスにキャストしようとしているとき、例外がスローされます。

要するにコード:

@Local
public interface BusinessObjectsFactory { ... }

@Stateless
@Local(BusinessObjectsFactory.class)
public class JPABusinessObjectsFactory implements BusinessObjectsFactory { ... }

...
Object obj = ctx.lookup("java:app/moduleName/" +
    "JPABusinessObjectsFactory!pckg.BusinessObjectsFactory");
Class c = obj.getClass();
System.out.println(c.getName()); // pckg.BusinessObjectsFactory$$$view36
System.out.println(c.getInterfaces()[0].getName()); // BusinessObjectsFactory 

BusinessObjectsFactory bof = (BusinessObjectsFactory) obj; //cast exception

何か案は?インターフェイスが必要であることに注意してください(この実装が検索されることは構成ファイルから読み取り、変更される可能性があります)

役に立ちましたか?

解決

私は別のルックアップ戦略に切り替えましたが、これはもはや問題ではありません。これがJBoss/Wildflyの最新バージョンにまだ存在するかどうかはわかりません。だから私はこの質問を閉じています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top