本文整理汇总了Java中javax.batch.runtime.JobInstance类的典型用法代码示例。如果您正苦于以下问题:Java JobInstance类的具体用法?Java JobInstance怎么用?Java JobInstance使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JobInstance类属于javax.batch.runtime包,在下文中一共展示了JobInstance类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: checkpointAlgorithm
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Test
public void checkpointAlgorithm() throws Exception {
logger.info("starting checkpoint test");
CountDownLatch latch = new CountDownLatch(1);
JobOperator jobOperator = getJobOperator();
Properties props = new Properties();
long executionId = jobOperator.start(JOB_NAME, props);
latch.await(10, SECONDS);
JobInstance jobInstance = jobInstance(jobOperator.getJobInstance(executionId), JOB_NAME);
JobExecution jobExecution = jobOperator.getJobExecutions(jobInstance).get(0);
Properties jobProperties = jobExecution.getJobParameters();
assertEquals("properties are: ", 0, jobProperties.size());
assertEquals("batch failed because a NoRollbackException is throwed", FAILED, jobExecution.getBatchStatus());
StepExecution stepExecution = jobOperator.getStepExecutions(executionId).get(0);
PersistentCheckpointUserData persistentCheckpointUserData = (PersistentCheckpointUserData) stepExecution
.getPersistentUserData();
assertNull("persistent user data after step", persistentCheckpointUserData.getStartedAfterStep());
Metric[] stepMetrics = stepExecution.getMetrics();
stepMetrics(stepMetrics, 3, 10, 12, 2, 1);
}
开发者ID:PacktPublishing,项目名称:Mastering-Java-EE-Development-with-WildFly,代码行数:22,代码来源:CheckpointJobTestCase.java
示例2: start
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
/**
* Start the job.
*
* @response the JobInstance + JobExecution record of the newly started job.
*/
protected void start(HttpServletRequest request, HttpServletResponse response) throws IOException {
String jobXMLName = getRequiredParm(request, "jobXMLName");
Properties jobParameters = getJobParameters(request, "jobParameters");
JobOperator jobOperator = getJobOperator();
long execId = jobOperator.start(jobXMLName, jobParameters);
JobInstance jobInstance = jobOperator.getJobInstance(execId);
JobExecution jobExecution = jobOperator.getJobExecution(execId);
getResponseWriter().setHttpServletResponse( response )
.beginResponse(HttpServletResponse.SC_OK)
.println( "start(jobXMLName=" + jobXMLName + ", jobParameters=" + jobParameters + "): Job started!" )
.printJobInstance( jobInstance )
.printJobExecution( jobExecution )
.endResponse();
}
示例3: status
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
/**
* Get status for the job identified by the 'executionId' query parm.
*
* @response instance + execs
*/
protected void status(HttpServletRequest request, HttpServletResponse response) throws IOException {
long execId = getLongParm(request, "executionId");
JobOperator jobOperator = getJobOperator();
JobInstance jobInstance = jobOperator.getJobInstance(execId);
List<JobExecution> jobExecutions = jobOperator.getJobExecutions(jobInstance);
getResponseWriter().setHttpServletResponse( response )
.beginResponse(HttpServletResponse.SC_OK)
.println( "status(executionId=" + execId + "): ")
.printJobInstance( jobInstance )
.printJobExecutions( jobExecutions )
.endResponse();
}
示例4: getJobExecutions
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
/**
* @response the jobexecution records
*/
protected void getJobExecutions(HttpServletRequest request, HttpServletResponse response) throws IOException {
final long instanceId = getLongParm(request, "instanceId") ;
List<JobExecution> jobExecutions = getJobOperator().getJobExecutions( new JobInstance() {
public long getInstanceId() { return instanceId; }
public String getJobName() { return "dummy-for-call-to-getJobExecutions"; }
});
getResponseWriter().setHttpServletResponse( response )
.beginResponse(HttpServletResponse.SC_OK)
.println( "getJobExecutions(instanceId=" + instanceId + "): ")
.printJobExecutions(jobExecutions)
.endResponse();
}
示例5: getJobExecutions
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Override
public List<JobExecution> getJobExecutions(JobInstance instance)
throws NoSuchJobInstanceException, JobSecurityException {
List<JobExecution> executions = new ArrayList<JobExecution>();
if (isAuthorized(instance.getInstanceId())) {
// Mediate between one
List<IJobExecution> executionImpls = persistenceService.jobOperatorGetJobExecutions(instance.getInstanceId());
if (executionImpls.size() == 0 ){
logger.warning("The current user is not authorized to perform this operation");
throw new NoSuchJobInstanceException( "Job: " + instance.getJobName() + " does not exist");
}
for (IJobExecution e : executionImpls) {
executions.add(e);
}
} else {
logger.warning("The current user is not authorized to perform this operation");
throw new JobSecurityException("The current user is not authorized to perform this operation");
}
return executions;
}
示例6: getParameters
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Override
public Properties getParameters(long executionId)
throws NoSuchJobExecutionException, JobSecurityException{
Properties props = null;
JobInstance requestedJobInstance = batchKernel.getJobInstance(executionId);
if (isAuthorized(requestedJobInstance.getInstanceId())) {
props = persistenceService.getParameters(executionId);
} else {
logger.warning("getParameters: The current user is not authorized to perform this operation");
throw new JobSecurityException("The current user is not authorized to perform this operation");
}
return props;
}
示例7: createSubJobInstance
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Override
public JobInstance createSubJobInstance(String name, String apptag) {
Connection conn = null;
PreparedStatement statement = null;
ResultSet rs = null;
JobInstanceImpl jobInstance = null;
try {
conn = getConnection();
statement = conn.prepareStatement("INSERT INTO jobinstancedata (name, apptag) VALUES(?, ?)", new String[] { "JOBINSTANCEID" } );
statement.setString(1, name);
statement.setString(2, apptag);
statement.executeUpdate();
rs = statement.getGeneratedKeys();
if(rs.next()) {
long jobInstanceID = rs.getLong(1);
jobInstance = new JobInstanceImpl(jobInstanceID);
jobInstance.setJobName(name);
}
} catch (SQLException e) {
throw new PersistenceException(e);
} finally {
cleanupConnection(conn, rs, statement);
}
return jobInstance;
}
示例8: createJobInstance
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Override
public JobInstance createJobInstance(String name, String apptag, String jobXml) {
Connection conn = null;
PreparedStatement statement = null;
ResultSet rs = null;
JobInstanceImpl jobInstance = null;
try {
conn = getConnection();
statement = conn.prepareStatement("INSERT INTO jobinstancedata (name, apptag) VALUES(?, ?)", new String[] { "JOBINSTANCEID" } );
statement.setString(1, name);
statement.setString(2, apptag);
statement.executeUpdate();
rs = statement.getGeneratedKeys();
if(rs.next()) {
long jobInstanceID = rs.getLong(1);
jobInstance = new JobInstanceImpl(jobInstanceID, jobXml);
jobInstance.setJobName(name);
}
} catch (SQLException e) {
throw new PersistenceException(e);
} finally {
cleanupConnection(conn, rs, statement);
}
return jobInstance;
}
示例9: test19928
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Test
public void test19928() throws Exception {
for (String jn : jobOp.getJobNames()) {
System.out.println("JN: " + jn);
List<JobInstance> exe = jobOp.getJobInstances(jn, 0, 200);
if (exe != null) {
for (JobInstance ji : exe) {
System.out.println("JI: " + ji.getInstanceId());
for (JobExecution je : jobOp.getJobExecutions(ji)) {
System.out.println("JE: " + je.getExecutionId());
if (je.getJobName() != null) {
System.out.println("SKSK: ");
} else {
throw new RuntimeException("saw null for je: " + je.getExecutionId()
+ ", ji: " + ji.getInstanceId() + ", jn= " + jn);
}
}
}
}
}
}
示例10: testJobParametersFromJobExecutionsFromInstance
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Test
public void testJobParametersFromJobExecutionsFromInstance() throws Exception {
Properties origParams = new Properties();
String sleepPropName = "sleepTime";
String sleepPropVal = "100";
origParams.setProperty(sleepPropName, sleepPropVal);
long execId = jobOp.start("simpleJob", origParams);
Thread.sleep(sleepTime);
JobInstance ji = jobOp.getJobInstance(execId);
JobExecution je = jobOp.getJobExecutions(ji).get(0);
assertEquals("batch status", BatchStatus.COMPLETED, je.getBatchStatus());
Properties obtainedParams = je.getJobParameters();
assertEquals("Unexpected number of job parameters", 1, obtainedParams.size());
assertEquals("Unexpected sleepTime parameter value", sleepPropVal, obtainedParams.getProperty(sleepPropName));
}
示例11: createJobInstance
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Override
public JobInstance createJobInstance(final String name, final String jobXml) {
final EntityManager em = emProvider.newEntityManager();
try {
final JobInstanceEntity instance = new JobInstanceEntity();
instance.setName(name);
instance.setJobXml(jobXml);
final Object tx = txProvider.start(em);
try {
em.persist(instance);
txProvider.commit(tx);
final JobInstanceImpl jobInstance = new JobInstanceImpl(instance.getJobInstanceId(), jobXml);
jobInstance.setJobName(name);
return jobInstance;
} catch (final Exception e) {
throw new BatchContainerRuntimeException(performRollback(tx, e));
}
} finally {
emProvider.release(em);
}
}
示例12: createJobInstance
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
@Override
public JobInstance createJobInstance(final String name, final String jobXml) {
final JobInstanceImpl jobInstance = new JobInstanceImpl(data.jobInstanceIdGenerator.getAndIncrement(), jobXml);
jobInstance.setJobName(name);
final Structures.JobInstanceData jobInstanceData = new Structures.JobInstanceData();
jobInstanceData.instance = jobInstance;
if (maxSize > 0 && data.jobInstanceData.size() >= maxSize) {
synchronized (this) {
while (data.jobInstanceData.size() >= maxSize) {
cleanUp(data.lastCleanedJobInstanceId.getAndIncrement());
}
}
}
data.jobInstanceData.put(jobInstance.getInstanceId(), jobInstanceData);
return jobInstance;
}
示例13: createRuntimeJobExecutionEntry
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
private Structures.ExecutionInstanceData createRuntimeJobExecutionEntry(final JobInstance jobInstance, final Properties jobParameters,
final BatchStatus batchStatus, final Timestamp now) {
final Structures.ExecutionInstanceData executionInstanceData = new Structures.ExecutionInstanceData();
final long id = data.executionInstanceIdGenerator.getAndIncrement();
executionInstanceData.execution = new JobExecutionImpl(id, jobInstance.getInstanceId(), this);
executionInstanceData.execution.setExecutionId(id);
executionInstanceData.execution.setInstanceId(jobInstance.getInstanceId());
executionInstanceData.execution.setBatchStatus(batchStatus.name());
executionInstanceData.execution.setCreateTime(now);
executionInstanceData.execution.setLastUpdateTime(now);
executionInstanceData.execution.setJobParameters(jobParameters);
data.executionInstanceData.put(id, executionInstanceData);
final Structures.JobInstanceData jobInstanceData = data.jobInstanceData.get(jobInstance.getInstanceId());
synchronized (jobInstanceData.executions) {
jobInstanceData.executions.add(executionInstanceData);
}
return executionInstanceData;
}
示例14: startJob
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
public static RuntimeJobExecution startJob(final ServicesManager servicesManager, final String jobXML, final Properties jobParameters) throws JobStartException {
final JSLJob jobModel = new JobModelResolver().resolveModel(jobXML);
final ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(jobModel, jobParameters, false);
final JobContextImpl jobContext = getJobContext(jobNavigator);
final JobInstance jobInstance = getNewJobInstance(servicesManager, jobNavigator.getRootModelElement().getId(), jobXML);
final RuntimeJobExecution executionHelper =
servicesManager.service(PersistenceManagerService.class).createJobExecution(jobInstance, jobParameters, jobContext.getBatchStatus());
executionHelper.prepareForExecution(jobContext);
final JobStatusManagerService statusManagerService = servicesManager.service(JobStatusManagerService.class);
final JobStatus jobStatus = createNewJobStatus(statusManagerService, jobInstance);
statusManagerService.updateJobStatus(jobStatus);
return executionHelper;
}
示例15: startPartition
import javax.batch.runtime.JobInstance; //导入依赖的package包/类
public static RuntimeJobExecution startPartition(final ServicesManager servicesManager, final JSLJob jobModel, final Properties jobParameters) throws JobStartException {
final ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(jobModel, jobParameters, true);
final JobContextImpl jobContext = getJobContext(jobNavigator);
final JobInstance jobInstance = getNewSubJobInstance(servicesManager, jobNavigator.getRootModelElement().getId());
final RuntimeJobExecution executionHelper =
servicesManager.service(PersistenceManagerService.class).createJobExecution(jobInstance, jobParameters, jobContext.getBatchStatus());
executionHelper.prepareForExecution(jobContext);
final JobStatusManagerService statusManagerService = servicesManager.service(JobStatusManagerService.class);
final JobStatus jobStatus = createNewJobStatus(statusManagerService, jobInstance);
statusManagerService.updateJobStatus(jobStatus);
return executionHelper;
}