当前位置: 首页>>代码示例>>Java>>正文


Java JobInstance类代码示例

本文整理汇总了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();
}
 
开发者ID:WASdev,项目名称:sample.batch.sleepybatchlet,代码行数:24,代码来源:JobOperatorServlet.java

示例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();
}
 
开发者ID:WASdev,项目名称:sample.batch.sleepybatchlet,代码行数:21,代码来源:JobOperatorServlet.java

示例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();
}
 
开发者ID:WASdev,项目名称:sample.batch.sleepybatchlet,代码行数:19,代码来源:JobOperatorServlet.java

示例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;
}
 
开发者ID:WASdev,项目名称:standards.jsr352.jbatch,代码行数:23,代码来源:JobOperatorImpl.java

示例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;
}
 
开发者ID:WASdev,项目名称:standards.jsr352.jbatch,代码行数:17,代码来源:JobOperatorImpl.java

示例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;
}
 
开发者ID:WASdev,项目名称:standards.jsr352.jbatch,代码行数:27,代码来源:JDBCPersistenceManagerImpl.java

示例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;
}
 
开发者ID:WASdev,项目名称:standards.jsr352.jbatch,代码行数:27,代码来源:JDBCPersistenceManagerImpl.java

示例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);
					}
				}
			}
		}
	}
}
 
开发者ID:WASdev,项目名称:standards.jsr352.jbatch,代码行数:22,代码来源:ImplSpecificJobOperatorTest.java

示例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));

}
 
开发者ID:WASdev,项目名称:standards.jsr352.jbatch,代码行数:21,代码来源:JobOperatorTest.java

示例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);
    }
}
 
开发者ID:apache,项目名称:incubator-batchee,代码行数:24,代码来源:JPAPersistenceManagerService.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-batchee,代码行数:19,代码来源:MemoryPersistenceManagerService.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-batchee,代码行数:20,代码来源:MemoryPersistenceManagerService.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-batchee,代码行数:17,代码来源:JobExecutionHelper.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-batchee,代码行数:18,代码来源:JobExecutionHelper.java


注:本文中的javax.batch.runtime.JobInstance类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。