fish.payara.ejb.timer.hazelcast.HZTimer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of payara-embedded-web Show documentation
Show all versions of payara-embedded-web Show documentation
Embedded-Web Distribution of the Payara Project for IBM JDK
/*
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2016 Payara Foundation and/or its affiliates.
All rights reserved.
The contents of this file are subject to the terms of the Common Development
and Distribution License("CDDL") (collectively, the "License"). You
may not use this file except in compliance with the License. You can
obtain a copy of the License at
https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
or packager/legal/LICENSE.txt. See the License for the specific
language governing permissions and limitations under the License.
When distributing the software, include this License Header Notice in each
file and include the License file at packager/legal/LICENSE.txt.
*/
package fish.payara.ejb.timer.hazelcast;
import com.sun.ejb.containers.EJBTimerSchedule;
import com.sun.ejb.containers.TimerPrimaryKey;
import java.io.Serializable;
import java.util.Date;
import javax.ejb.TimerConfig;
/**
*
* @author steve
*/
public class HZTimer implements Serializable {
private final TimerPrimaryKey key;
private String hzMemberName;
private String ownerId;
private final long containerId;
private long applicationId;
private final Serializable timedObjectPk;
private final Date initialExpiration;
private final long intervalDuration;
private final EJBTimerSchedule schedule;
private final Serializable info;
private Date lastExpiration;
public HZTimer(TimerPrimaryKey timerId, long containerId, long applicationId, Object timedObjectPrimaryKey, String hzMemberName, String ownerId, Date initialExpiration, long intervalDuration, EJBTimerSchedule schedule, TimerConfig timerConfig) {
this.key = timerId;
this.containerId = containerId;
this.applicationId = applicationId;
if (timedObjectPrimaryKey instanceof Serializable) {
this.timedObjectPk = (Serializable) timedObjectPrimaryKey;
} else {
this.timedObjectPk = null;
}
this.hzMemberName = hzMemberName;
this.ownerId = ownerId;
this.initialExpiration = initialExpiration;
this.intervalDuration = intervalDuration;
this.schedule = schedule;
if (timerConfig.isPersistent()) {
this.info = timerConfig.getInfo();
} else {
info = null;
}
}
public void setOwnerId(String id) {
this.ownerId = id;
}
public String getOwnerId() {
return ownerId;
}
public void setMemberName(String serverName) {
this.hzMemberName = serverName;
}
public TimerPrimaryKey getKey() {
return key;
}
public String getMemberName() {
return hzMemberName;
}
public long getContainerId() {
return containerId;
}
public long getApplicationId() {
return applicationId;
}
void setApplicationId(long applicationId) {
this.applicationId = applicationId;
}
public Object getTimedObjectPk() {
return timedObjectPk;
}
public Date getInitialExpiration() {
return initialExpiration;
}
public long getIntervalDuration() {
return intervalDuration;
}
public EJBTimerSchedule getSchedule() {
return schedule;
}
public TimerConfig getTimerConfig() {
return new TimerConfig(info, true);
}
Date getLastExpiration() {
return lastExpiration;
}
void setLastExpiration(Date now) {
lastExpiration = now;
}
}