我收到警告

“不能将IssuePermitProcessManager.ecmManagerLocal注入目标声明为静态。

在我的WebSphere 9服务器控制台上。我相信导致该问题的代码是:

@Stateless
@TransactionManagement(TransactionManagementType.BEAN)
public class IssuePermitProcessManager implements IssuePermitProcessManagerRemote, IssuePermitProcessManagerLocal {

    @Resource
    private UserTransaction userTransaction;

    @EJB
    protected static EcmManagerLocal ecmManagerLocal = null;
    protected final static String EcmManagerLocal_JNDI = "ejblocal:gov.mo.dnr.ecwis.sessions.ecm.EcmManagerLocal";


我不清楚注射目标是什么。我只是从static声明中删除protected static EcmManagerLocal ecmManagerLocal = null;吗?

最佳答案

是的,ecmManagerLocal是声明为静态的注入目标(用@EJB进行注解以注入ejb)。替换代码行,

    @EJB
    protected static EcmManagerLocal ecmManagerLocal = null;




    @EJB
    protected EcmManagerLocal ecmManagerLocal;

关于java - 如何更正“不得将注入(inject)目标声明为静态。”警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55381529/

10-10 14:18