JBOSS AS 7、EJB3はインターフェイスにキャストします
質問
私は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の最新バージョンにまだ存在するかどうかはわかりません。だから私はこの質問を閉じています。
所属していません StackOverflow