Как исправить «Цель впрыска не должна быть объявлена ​​статической».предупреждение - PullRequest
0 голосов
/ 27 марта 2019

Я получаю предупреждение

«Целевой объект 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; декларации?

1 Ответ

2 голосов
/ 27 марта 2019

Да, ecmManagerLocal - цель внедрения (она помечена @EJB для внедрения ejb), которая объявлена ​​статической. Заменить строку кода,

    @EJB
    protected static EcmManagerLocal ecmManagerLocal = null;

с

    @EJB
    protected EcmManagerLocal ecmManagerLocal;
...