2012-09-20 140 views
0

目前我正在評估Weblogic 12c,但攔截器未由weblogic調用。該代碼放入耳朵的lib文件夾中的庫中。攔截器用@Extern綁定到ejb模塊中的EJB。我在beans.xml中啓用了它。代碼與Glassfish 3.1.2和Jboss 7.1.1一起運行。我試圖找到weblogic的bugreports,但我沒有找到任何正確描述問題的東西。我不知道爲什麼這並沒有一個bug報告結果,所以我只是想知道是否有失敗的,因爲我不能imageine,這樣的事情是不是已知的bug ......未在weblogic上調用攔截器

@Interceptor 
@BindOuterScope 
public class OuterScopeInterceptor 
{ 

    @Inherited 
    @InterceptorBinding 
    @Target({TYPE}) 
    @Retention(RetentionPolicy.RUNTIME) 
    public @interface BindOuterScope 
    { 

    } 

    @AroundInvoke 
    public Object invoker(InvocationContext ctx) throws Exception 
    { 

    } 
} 

@Inherited 
@InterceptorBinding 
@Target({TYPE}) 
@Retention(RetentionPolicy.RUNTIME) 
@BindOuterScope 
public @interface Extern 
{ 

} 

回答

0

早期的Glassfish有一個問題,攔截器並不總是啓用。可能是類似的東西。嘗試重新部署幾次,看看是否有效。我知道這聽起來很糟糕,但沒有告訴:(

+0

我沒想到在這個線程中找到了解決我自己的問題的方法,但是你救了我的命,先生;)我在Tomcat應用程序中有一個非常類似的攔截器和註解,但攔截器永遠不會被調用,儘管正確在'beans.xml'中實現和定義。我在Eclipse中清理了Tomcat工作目錄,現在一切正常。 – Jack

-1

如果您使用Eclipse WebLogic插件,你可以把它通過改變發佈模式工作,以「展開的歸檔」的更好的方法。

  • 在服務器上右鍵CLIC>性能>的WebLogic>出版
  • 檢查 「發佈爲展開的歸檔」>確定
  • 發佈應用程序