0
我有以下設置:Wildfly 9爲遠程EJB客戶端提供服務,同時還有一些正在運行的執行某些邏輯的TimerTask實例。在Wildfly上以匿名用戶身份訪問安全的EJB 9
大多數EJB方法由遠程客戶機調用;因此,固定(通過@RolesAllowed)。 現在,其中的一些方法也將被TimerTask的服務器中來,在這種情況下,我沒有任何本金或安全上下文,這將導致EJB方法調用失敗。
我的解決方法是這樣的:
EJB:
@RolesAllowed({"readRole"})
public void readSomething() {
this.readSomethingImpl();
}
public void readSomethingUnrestricted() {
this.readSomethingImpl();
}
的readSomething()是遠程接口的一部分,readSomethingUnrestricted()是本地接口的一部分。
缺點是我有一套相當大的EJB服務方法,我不想複製所有這些方法(一個限制爲遠程,一個限制爲本地調用)。
是否有實現這個什麼更好的辦法?
謝謝!
謝謝你史蒂夫。不幸的是問題依然存在看看文檔,這個註釋是在課堂上進行的。仍然得到相同的錯誤。也許它有所不同,我的TimerTask是EAR內部WAR的一部分,它嘗試在同一個EAR的JAR中「說」EJB。 –