Ejb @scheduler метод вызов не удалсяJAVA

Программисты JAVA общаются здесь
Anonymous
Ejb @scheduler метод вызов не удался

Сообщение Anonymous »

Я пытаюсь работать с @Scheduler, однако не удалось назвать мой объект EJB2. Это потому, что @Scheduler находится в EJB 3.1, и я пытаюсь назвать EJB2, потому что он не поддерживает его ?? Или что -то не хватает: < /p>

Код: Выделить всё

@Singleton
public class BatchUserPermissionUpdater {

Date now;
@Inject
private IUserCompanyPermission permission;
@EJB
private CompanyBusiness companyBusiness;

@Schedule(minute="*/1",hour="*", persistent=false)
public void execute() {
now = new Date();
Logger.instance().logInfo(this,"Executing scheduler. Time is :" + now);

List userList= permission.findAllUserCompanyPermission();

if(userList!=null && !userList.isEmpty()){
updateAccess(userList);
}
}

public void updateAccess(List userList)  {

for ( UserCompanyPermission list : userList) {
Company company =  companyBusiness.getCompanyBySID(list.getCompanyId());

}
}

}
< /code>
, когда он достигает строки ниже, бросает исключение: < /p>

Компания компании =
companybusiness.getCompanybysid ( list.getCompanyid ()); < /p>
< /blockquote>
@Stateless
public class CompanyFacadeImpl extends EntityServiceImpl implements CompanyBusiness {

@EJB
CompanyHome companyHome;

@Override
public Company getCompanyBySID(long id) throws RemoteException, FinderException {
return companyHome.findByPrimaryKey(new SnapshotPK(id));
}

}
< /code>
CompanyHome: < /p>
public interface CompanyHome extends EJBHome {
public Company findByPrimaryKey(SnapshotPK pk) throws RemoteException, FinderException;
}
< /code>
Следующее исключение брошено: < /p>
    [org.jboss.as.ejb3.invocation] (EJB default - 1) JBAS014134: EJB Invocation failed on component Company for method public abstract com.iumnordic.snapshot.remote.Company com.iumnordic.snapshot.home.CompanyHome.findByPrimaryKey(com.iumnordic.snapshot.util.SnapshotPK) throws java.rmi.RemoteException,javax.ejb.FinderException: javax.ejb.EJBAccessException: JBAS014502: Invocation on method: public abstract com.iumnordic.snapshot.remote.Company com.iumnordic.snapshot.home.CompanyHome.findByPrimaryKey(com.iumnordic.snapshot.util.SnapshotPK) throws java.rmi.RemoteException,javax.ejb.FinderException of bean: Company is not allowed
at com.sun.proxy.$Proxy146.findByPrimaryKey(Unknown Source)
at com.iumnordic.snapshotx.ejb.stateless.DefaultCompanyFacadeImpl.getCompanyBySID(DefaultCompanyFacadeImpl.java:222) [snapshot-ejb3-0.0.1-SNAPSHOT.jar:]
com.iumnordic.snapshotx.ejb.business.CompanyBusiness$$$view75.getCompanyBySID(Unknown Source) [snapshot-ejb3-0.0.1-SNAPSHOT.jar:]
at com.iumnordic.timertask.BatchUserPermissionUpdater.updateAccess(BatchUserPermissionUpdater.java:79)
at com.iumnordic.timertask.BatchUserPermissionUpdater.execute(BatchUserPermissionUpdater.java:58)
Код выше, выше, отлично работает вне планировщика во всем приложении, поэтому я уверен, что он как -то связан с @Scheduler, что именно это не уверено.

Подробнее здесь: https://stackoverflow.com/questions/393 ... ion-failed

Вернуться в «JAVA»