Java 类javax.ejb.Timeout 实例源码
项目:oscm-app
文件:TimerRefreshSubscriptions.java
@Timeout
public void execute(Timer timer) {
if (!VM_TIMER_INFO.equals(timer.getInfo())) {
return;
}
List<ServiceInstance> instances = serviceInstanceService.getInstances();
for (ServiceInstance serviceInstance : instances) {
try {
final APPlatformController controller = APPlatformControllerFactory
.getInstance(serviceInstance.getControllerId());
int vmsNumber = controller.getServersNumber(serviceInstance.getInstanceId(),
serviceInstance.getSubscriptionId(), serviceInstance.getOrganizationId());
ServiceInstance updatedServiceInstance = serviceInstanceService.updateVmsNumber(serviceInstance,
vmsNumber);
serviceInstanceService.notifySubscriptionAboutVmsNumber(updatedServiceInstance);
} catch (APPlatformException e) {
logger.error("Subscription cannot be notified about VMs number: ", e);
}
}
}
项目:oscm
文件:TimerRefreshSubscriptions.java
@Timeout
public void execute(Timer timer) {
if (!VM_TIMER_INFO.equals(timer.getInfo())) {
return;
}
List<ServiceInstance> instances = serviceInstanceService.getInstances();
for (ServiceInstance serviceInstance : instances) {
try {
final APPlatformController controller = APPlatformControllerFactory
.getInstance(serviceInstance.getControllerId());
int vmsNumber = controller.getServersNumber(serviceInstance.getInstanceId(),
serviceInstance.getSubscriptionId(), serviceInstance.getOrganizationId());
ServiceInstance updatedServiceInstance = serviceInstanceService.updateVmsNumber(serviceInstance,
vmsNumber);
serviceInstanceService.notifySubscriptionAboutVmsNumber(updatedServiceInstance);
} catch (APPlatformException e) {
logger.error("Subscription cannot be notified about VMs number: ", e);
}
}
}
项目:USM
文件:InMemorySessionDao.java
@Timeout
public void timeout(Timer timer)
{
LOGGER.info("timeout() - (ENTER)");
Properties policy = policyProvider.getProperties(POLICY_SUBJECT);
int ttlSession = policyProvider.getIntProperty(policy, "account.maxSessionDuration", 0);
if (ttlSession > 0) {
Date startedBefore = new Date(System.currentTimeMillis() -
(ttlSession * ONE_SECOND));
LOGGER.info("startedBefore: " + startedBefore);
List<String> expired = findExpiredSessions(startedBefore);
for (String sessionId : expired) {
LOGGER.info("deleteing expired session: " + sessionId);
deleteSession(sessionId);
}
}
LOGGER.info("timeout() - (LEAVE)");
}
项目:bookery
文件:BookeryMailService.java
@Timeout
public void createKindleMail(Timer timer) {
try {
Payload payload = (Payload)timer.getInfo();
BookEntry book = payload.getBook();
AppUser user = payload.getUser();
byte[] attachment = solrHandler.getMobiFormat(book.getId()).get(0).getMobi();
//1.Step Check if convert
if (attachment == null) {
convertEPubToMobi(book);
attachment = solrHandler.getMobiFormat(book.getId()).get(0).getMobi();
}
//2. Step Send Email
String filename = book.getTitle() + "-" + book.getAuthor();
sendKindleMail(user, attachment, filename);
} catch (SolrServerException | MessagingException | IOException | InterruptedException ex) {
logger.error("failed to create Kindle mail.",ex);
}
}
项目:gangehi
文件:ReminderService.java
@Timeout
public void timeout(Timer timer) {
if (propertyService.getBoolean("mail.reminder.active")) {
log.info("Reminder activated.");
List<SimpleApproval> simpleApprovals = simpleApprovalDAO.findOpenApprovalsProcessInstanceId();
for (SimpleApproval simpleApproval : simpleApprovals) {
log.info("ProcessInstanceId: " + simpleApproval);
// TODO: make the query more efficient
List<Status> statusList = new ArrayList<Status>();
statusList.add(Status.InProgress);
statusList.add(Status.Reserved);
List<TaskSummary> tasks = runtimeDataService.getTasksByStatusByProcessInstanceId(simpleApproval.getProcessInstanceId(), statusList, null);
if (tasks.size() > 1) {
log.warning("More then one task for processInstanceId: " + simpleApproval.getProcessInstanceId());
}
TaskSummary task = tasks.get(0);
String actualOwner = task.getActualOwnerId();
sendReminderEmail(actualOwner, simpleApproval.getProcessInstanceId(), simpleApproval.getSubject());
}
} else {
log.warning("Reminder inactive!");
}
}
项目:snoop
文件:EurekaClient.java
@Timeout
public void health(Timer timer) {
LOGGER.config(() -> "health update: " + Calendar.getInstance().getTime());
LOGGER.config(() -> "Next: " + timer.getNextTimeout());
EurekaConfig eurekaConfig = new EurekaConfig();
eurekaConfig.setStatus("UP");
Entity<InstanceConfig> entity = Entity.entity(new InstanceConfig(eurekaConfig), MediaType.APPLICATION_JSON);
Response response = ClientBuilder.newClient()
.target(serviceUrl + "apps/" + applicationName + "/" + applicationName)
.request()
.put(entity);
LOGGER.config(() -> "PUT resulted in: " + response.getStatus() + ", " + response.getEntity());
}
项目:hopsworks
文件:JobScheduler.java
/**
* Execute the job given as extra info to the timer object.
* <p/>
* @param timer
*/
@Timeout
public void timeout(Timer timer) {
Serializable jobId = timer.getInfo();
//Valid id?
if (!(jobId instanceof Integer)) {
logger.log(Level.WARNING,
"Trying to run a scheduled execution, but info is not of integer class.");
return;
}
//Valid job?
Jobs job = jobFacade.findById((Integer) jobId);
if (job == null) {
logger.log(Level.WARNING, "Trying to run a job with non-existing id.");
return;
}
try {
//Yes! Now execute!
executionController.start(job, job.getCreator());
} catch (IOException ex) {
logger.log(Level.WARNING, "Exception while starting scheduled job " + job,
ex);
}
}
项目:http-queue
文件:JobManager.java
@Timeout
public void execute(Timer timer) {
try {
if (timer.getTimeRemaining() < 0) {
logger.info("Skipping missed job timeout with id {}", timer.getInfo());
return;
}
} catch (NoMoreTimeoutsException e) {
}
Job job = em.find(Job.class, timer.getInfo());
if (job == null) {
logger.info("Job with id {} not found. Cancelling...", timer.getInfo());
timer.cancel();
} else if (!job.isActivate()) {
logger.info("Skipping execution of job {} because it is marked as inactive.", timer.getInfo());
} else {
JobExecution execution = executor.createExecution(job);
executor.execute(execution, job);
}
}
项目:ROAD
文件:CarSimulator.java
@Timeout
private void sendTimeStep()
{
FcdTimeStep step = this.timeSteps.get(this.sequence);
SocketResponse response = new SocketResponse();
response.timeStep = step;
if(this.sendMovement(CarSocket.apiKey, this.sequence, step))
{
response.message = "Successfully sent movement. Sequence number " + this.sequence + " of " + this.timeSteps.size();
}
else
{
response.message = "Failed to send movement! Sequence number " + this.sequence + " of " + this.timeSteps.size();
}
this.session.getAsyncRemote().sendText(this.xStream.toXML(response)); //this.gson.toJson(response));
if(this.sequence + 1 < this.timeSteps.size())
{
this.setTimer((int)(this.timeSteps.get(sequence + 1).getTime() - step.getTime()));
this.sequence++;
}
}
项目:siebog
文件:ECTimerServiceImpl.java
@Timeout
public void timeout(Timer timer) {
final Cache<String, ExecutionControl> cache = GlobalCache.get().getExecutionControls();
String info = (String) timer.getInfo();
try {
int n = info.indexOf(' ');
String execCtrlName = info.substring(0, n);
int cycleNum = Integer.parseInt(info.substring(n + 1));
ExecutionControl execCtrl = cache.get(execCtrlName);
if (execCtrl != null)
execCtrl.onTimeout(cycleNum);
else
logger.log(Level.WARNING, "ExecutionControl " + execCtrlName + " not found.");
} catch (ConcurrentAccessTimeoutException ex) {
logger.warning(ex.getMessage());
}
}
项目:JEECQRS
文件:AbstractApplicationStartup.java
@Timeout
public void startup(Timer timer) {
try {
userTransaction.begin();
log.log(Level.INFO, "Starting application...");
replayEvents();
startDispatchScheduler();
startSagaTracker();
userTransaction.commit();
} catch (NotSupportedException | SystemException | HeuristicMixedException |
HeuristicRollbackException | IllegalStateException | RollbackException |
SecurityException ex) {
log.severe(ex.getMessage());
throw new RuntimeException(ex);
}
}
项目:Mastering-Java-EE-Development-with-WildFly
文件:ItemServiceBean.java
@Timeout
@Interceptors(ExcludingInterceptor.class)
private void timeout(Timer timer) {
timerServiceCalled = true;
interceptorResults += "@Timeout";
latch.countDown();
}
项目:marathonv5
文件:SingletonSimulationBean.java
@Timeout
public void timeout(Timer timer) {
if (timer.equals(simulationTimer)){
sim.run();
}
else if (timer.equals(hourlySalesTimer)){
hourlySalesGenerator.run();
}
}
项目:marathonv5
文件:SingletonSimulationBean.java
@Timeout
public void timeout(Timer timer) {
if (timer.equals(simulationTimer)){
sim.run();
}
else if (timer.equals(hourlySalesTimer)){
hourlySalesGenerator.run();
}
}
项目:oscm-app
文件:Initializer.java
/**
* Handles the timer event.
*/
@Timeout
public void handleTimer(@SuppressWarnings("unused") Timer timer) {
if (logFile != null) {
handleOnChange(logFile);
}
}
项目:javaee-calculator
文件:SetupMonitoring.java
@Timeout
public void reconfigure() {
this.monitoring = ClientBuilder.
newClient().
target("http://localhost:8080/firehose/resources/configurations/");
this.configure("problematic503", "http://localhost:4848/monitoring/domain/server/http-service/server/request.json");
this.configure("problematicRollbacks", "http://localhost:4848/monitoring/domain/server/transaction-service/rolledbackcount.json");
this.configure("avgRequestProcessingTime", "http://localhost:4848/monitoring/domain/server/http-service/server/request/processingtime.json");
this.configure("countqueued1minuteaverage", "http://localhost:4848/monitoring/domain/server/network/connection-queue/countqueued1minuteaverage.json");
this.configure("echoExecutionTime", "http://localhost:4848/monitoring/domain/server/applications/problematic/Pings/bean-methods/echo-long-java.lang.String.json");
this.configure("currentThreadsBusy", "http://localhost:4848/monitoring/domain/server/network/http-listener-1/thread-pool/currentthreadsbusy.json");
this.configure("usedHeapSize", "http://localhost:4848/monitoring/domain/server/jvm/memory/usedheapsize-count.json");
}
项目:oscm
文件:Initializer.java
/**
* Handles the timer event.
*/
@Timeout
public void handleTimer(@SuppressWarnings("unused") Timer timer) {
if (logFile != null) {
handleOnChange(logFile);
}
}
项目:oscm
文件:Initializer.java
/**
* Handles the timer event.
*/
@Timeout
public void handleTimer(@SuppressWarnings("unused") Timer timer) {
if (logFile != null) {
handleOnChange(logFile);
}
}
项目:redis-websocket-javaee
文件:PingForLeaders.java
@Timeout
public void timeout(Timer timer) {
Logger.getLogger(PingForLeaders.class.getName()).log(Level.INFO, "Timer fired at {0}", new Date());
/**
* find top 10 trending groups
*/
Set<Tuple> zrangeByScoreWithScores = jedis.zrevrangeByScoreWithScores(LEADERBOARD_REDIS_KEY, Integer.MAX_VALUE, 1, 0, 10);
Leaderboard lb = new Leaderboard();
for (Tuple tuple : zrangeByScoreWithScores) {
lb.add(tuple.getElement(), String.valueOf(tuple.getScore()));
}
String json = null;
try {
json = mapper.writeValueAsString(lb);
} catch (JsonProcessingException ex) {
Logger.getLogger(PingForLeaders.class.getName()).log(Level.SEVERE, null, ex);
}
msgEvent.fire(json);
}
项目:myWMS
文件:LocationSanityBusinessBean.java
@Timeout
public void timeout(Timer timer) {
try {
log.info("create replenishment if needed");
sanityCheck();
} catch (Throwable e) {
log.error(e.getMessage(), e);
}
}
项目:iws
文件:StateBean.java
/**
* Timeout Method, which will start the frequent cleaning.
*
* @param timer Timer information, useful for logging
*/
@Timeout
public void doCleanup(final Timer timer) {
LOG.info("Timeout occurred, will start the Cleanup");
final long start = System.nanoTime();
// For the suspension & deleting, we need to use an Authentication
// Object for history information. We're using the System account for
// this. Even if nothing is to be deleted, we're still fetching the
// record here, since the Cron job is only running once every 24 hours,
// we do not care much for performance problems.
final UserEntity system = entityManager.find(UserEntity.class, InternalConstants.SYSTEM_ACCOUNT);
final Authentication authentication = new Authentication(system, timer.getInfo().toString());
// First, let's get rid of those pesky expired sessions. For more
// information, see the Trac ticket #900.
removeDeprecatedSessions();
// Second, we'll handle Offers which have expired.
runExpiredOfferProcessing();
// third, we'll deal with accounts which are inactive. For more
// information, see the Trac ticket #720.
final int expired = removeUnusedNewAccounts();
final int suspended = suspendInactiveAccounts(authentication);
final int deleted = deleteSuspendedAccounts(authentication);
final DateFormat dateFormatter = new SimpleDateFormat(IWSConstants.DATE_TIME_FORMAT, IWSConstants.DEFAULT_LOCALE);
final long duration = (System.nanoTime() - start) / 1000000;
LOG.info("Cleanup took: {}ms (Users expired {}, suspended {} & deleted {}), next Timeout: {}", duration, expired, suspended, deleted, dateFormatter.format(timer.getNextTimeout()));
}
项目:cibet
文件:EESchedulerTask.java
@Timeout
public void handleTimer(final Timer timer) {
SchedulerTimerConfig config = (SchedulerTimerConfig) timer.getInfo();
log.info("run EE Timer " + config.getSchedulerName());
try {
Context.internalRequestScope().setManaged(false);
Context.start();
if (config.getPersistenceReference() != null) {
setApplicationEntityManager(config.getPersistenceReference());
}
Context.sessionScope().setUser("SchedulerTask-" + config.getSchedulerName());
EntityManager em = Context.internalRequestScope().getOrCreateEntityManager(false);
TypedQuery<Controllable> q = em.createNamedQuery(Controllable.SEL_SCHED_BY_DATE, Controllable.class);
q.setParameter("actuator", config.getSchedulerName());
q.setParameter("currentDate", new Date(), TemporalType.TIMESTAMP);
List<Controllable> list = q.getResultList();
log.info(list.size() + " due scheduled business cases found");
for (Controllable co : list) {
co.decrypt();
process(co);
}
} catch (Exception e) {
log.error("Failed to execute EEScheduledTask Timer " + config.getSchedulerName() + ": " + e.getMessage(), e);
} finally {
Context.end();
}
}
项目:mention-notifications-ejb
文件:GithubNotificationsCheck.java
/**
* When the timeout occurs, post the notifications from Github somewhere.
*/
@Timeout
public void check() {
try {
for(final Post post : this.posts) {
post.send();
}
} catch (IOException e) {
log.error("IOException when checking or sending notifications: ", e);
} catch (AssertionError err) {
log.error("Unexpected status response when checking or sending notifications: ", err);
}
}
项目:bookery
文件:BatchJobService.java
@Timeout
public void timeout(Timer timer) {
try {
logger.debug("Executing Timer ");
BatchJobConfiguration jobConfig = (BatchJobConfiguration)timer.getInfo();
logger.debug("Executing Batch Job " + jobConfig.getType().getDisplayName());
BatchJobInterface batchJob = (BatchJobInterface)InitialContext.doLookup(jobConfig.getType().getModuleName());
batchJob.executeJob(timer); //Asynchronous method
} catch(NamingException ex) {
logger.error(ex,ex);
}
}
项目:development
文件:Initializer.java
/**
* Handles the timer event.
*/
@Timeout
public void handleTimer(@SuppressWarnings("unused") Timer timer) {
if (logFile != null) {
handleOnChange(logFile);
}
}
项目:development
文件:Initializer.java
/**
* Handles the timer event.
*/
@Timeout
public void handleTimer(@SuppressWarnings("unused") Timer timer) {
if (logFile != null) {
handleOnChange(logFile);
}
}
项目:development
文件:Initializer.java
/**
* Handles the timer event.
*/
@Timeout
public void handleTimer(@SuppressWarnings("unused") Timer timer) {
if (logFile != null) {
handleOnChange(logFile);
}
}
项目:darceo
文件:StatisticsCalculator.java
/**
* Calculates statistics and stores them in the database.
*
* @param timer
* timer that triggered the event
*/
@Timeout
protected void onTimeout(Timer timer) {
StatisticsCalculator proxy = ctx.getBusinessObject(StatisticsCalculator.class);
logger.info("Statistics calculation started");
long start = System.currentTimeMillis();
proxy.calculateBasicStatistics();
proxy.calculateDataFileFormatStatistics();
proxy.calculateMetadataFormatStatistics();
logger.info("Statistics calculation finished (took " + (System.currentTimeMillis() - start) + " ms)");
}
项目:darceo
文件:CertificateChecker.java
/**
* Checks the user certificates and reports the ones that are beyond expiration threshold.
*
* @param timer
* timer that triggered the event
*/
@Timeout
protected void onTimeout(Timer timer) {
CertificateChecker proxy = ctx.getBusinessObject(CertificateChecker.class);
logger.info("Certificate checking started");
long start = System.currentTimeMillis();
proxy.checkCertificates();
logger.info("Certificate checking finished (took " + (System.currentTimeMillis() - start) + " ms)");
}
项目:darceo
文件:MdzScheduler.java
/**
* Handles all the timer events defined for this class. The event type can be obtained using the
* {@link Timer#getInfo()} method.
*
* @param timer
* timer that triggered the event
*/
@Timeout
protected void onTimeout(Timer timer) {
if (timer.getInfo() instanceof EventType) {
switch ((EventType) timer.getInfo()) {
case INITIALIZE_FORMAT_WORK:
formatInitializer.initializeWork();
formatWorker.start();
break;
case ACTIVATE_FORMAT_WORKER:
formatWorker.activate();
break;
case DEACTIVATE_FORMAT_WORKER:
formatWorker.deactivate();
break;
case ACTIVATE_INTEGRITY_WORKER:
integrityWorker.activate();
break;
case DEACTIVATE_INTEGRITY_WORKER:
integrityWorker.deactivate();
break;
default:
throw new RuntimeException("Unexpected EventType value: " + timer.getInfo());
}
} else if (timer.getInfo() instanceof PluginEvent) {
PluginEvent event = (PluginEvent) timer.getInfo();
switch (event.type) {
case ACTIVATE:
pluginExecutor.start(event.pluginName);
break;
case DEACTIVATE:
pluginExecutor.stop(event.pluginName);
break;
default:
throw new RuntimeException("Unexpected PluginEventType value: " + event.type);
}
}
}
项目:training
文件:Business.java
@Timeout
public void tick() {
if (active) {
System.out.println("Business fires event");
businessEvent.fire(new BusinessEvent("second = " + new Date().getSeconds()));
}
}
项目:disqus-synchronization
文件:DisqusSynchronizationTimerService.java
@Timeout
public void doWork() {
boolean enabled = Boolean.parseBoolean(System.getProperty("disqus.synchronization.enabled", "false"));
if (enabled) {
String apiKey = System.getProperty("disqus.apiKey");
String forum = System.getProperty("disqus.synchronization.forum");
disqusSynchronizationService.synchronizeComments(apiKey, forum);
disqusSynchronizationService.deleteComments(apiKey, forum);
}
}
项目:hopsworks
文件:Cleanup.java
@Timeout
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
private void timeout(Timer timer) {
try {
clusterController.cleanupUnverifiedUsers();
} catch(Exception e) {
LOG.log(Level.WARNING, "Failed to cleanup cluster agents. {0}", e.getMessage());
}
}
项目:hopsworks
文件:DelaSetupWorker.java
@Timeout
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
private void timeout(Timer timer) {
LOG.log(Level.INFO, "state timeout:{0}", new Object[]{state});
switch (state) {
case SETUP:
setup(timer);
break;
case DELA_VERSION:
delaVersion(timer);
break;
case DELA_CONTACT:
delaContact(timer);
break;
case REGISTER:
hopsSiteRegister(timer);
break;
case HEAVY_PING:
heavyPing(timer);
break;
case PING:
ping(timer);
break;
default:
throw new IllegalStateException("unknown state");
}
}
项目:actionbazaar
文件:FlyerBean.java
/**
* Sends the message out...
* @param timer - timer
*/
@Timeout
public void send(Timer timer) {
if (timer.getInfo() instanceof Email) {
Email email = (Email) timer.getInfo();
// Retrieve bidders/sellers and email…
}
}
项目:actionbazaar
文件:FlyerBean.java
/**
* Sends the message out...
* @param timer - timer
*/
@Timeout
public void send(Timer timer) {
if (timer.getInfo() instanceof Email) {
Email email = (Email) timer.getInfo();
// Retrieve bidders/sellers and email…
}
}
项目:actionbazaar
文件:FlyerBean.java
/**
* Sends the message out...
* @param timer - timer
*/
@Timeout
public void send(Timer timer) {
if (timer.getInfo() instanceof Email) {
Email email = (Email) timer.getInfo();
// Retrieve bidders/sellers and email…
}
}
项目:actionbazaar
文件:FlyerBean.java
/**
* Sends the message out...
* @param timer - timer
*/
@Timeout
public void send(Timer timer) {
if (timer.getInfo() instanceof Email) {
Email email = (Email) timer.getInfo();
// Retrieve bidders/sellers and email…
}
}
项目:actionbazaar
文件:FlyerBean.java
/**
* Sends the message out...
* @param timer - timer
*/
@Timeout
public void send(Timer timer) {
if (timer.getInfo() instanceof Email) {
Email email = (Email) timer.getInfo();
// Retrieve bidders/sellers and email…
}
}
项目:fhbay
文件:AuctionBean.java
@Timeout
public void finishAuctionHandler(Timer timer) {
Long articleId = (Long) timer.getInfo();
Article article = articleDao.findById(articleId);
if (article == null) {
throw new EJBException("Article is delete in the meantime. id: " + articleId);
}
ArrayList<Bid> sorted = sortBids(article);
switch (sorted.size()) {
case 0:
// No bids
article.setArticleState(ArticleState.UNSALEABE);
break;
case 1:
// Only one bid
Bid highest = sorted.get(0);
article.setSuccessfulBid(highest);
article.setBuyer(highest.getBidder());
article.setFinalPrice(article.getInitialPrice());
article.setArticleState(ArticleState.SOLD);
break;
default:
// More bids. Use the bid with the highest price
highest = sorted.get(sorted.size() - 1);
Bid second = sorted.get(sorted.size() - 2);
article.setFinalPrice(second.getAmount() + 1);
article.setBuyer(highest.getBidder());
article.setSuccessfulBid(highest);
article.setArticleState(ArticleState.SOLD);
}
articleDao.merge(article);
System.out.println("===> Auction for " + article.getName() + " finished.");
}