2017-10-05 91 views
0

我想在z/OS中运行this jberet java批处理程序,但得到以下异常。这似乎是在z/OS中的权限,因为,相同的可执行文件(fat/uber)jar在windows机器中运行良好。运行JBERET java批处理程序ZOS错误

Oct 05, 2017 9:07:41 AM org.jboss.weld.bootstrap.WeldStartup <clinit> 
INFO: WELD-000900: 2.4.5 (Final) Oct 05, 2017 9:07:41 AM org.jboss.weld.environment.deployment.discovery.ReflectionDiscoveryStrategy processAnnotatedDiscovery 
INFO: WELD-ENV-000014: Falling back to Java Reflection for bean-discovery-mode="annotated" discovery. Add org.jboss:jandex to the classpath to speed-up startup. 
Exception in thread "main" java.util.ServiceConfigurationError: javax.batch.operations.JobOperator: Provider org.jberet.operations.JobOperatorImpl could not be instantiated 
    at java.util.ServiceLoader.fail(ServiceLoader.java:236) 
    at java.util.ServiceLoader.access$100(ServiceLoader.java:193) 
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:389) 
    at java.util.ServiceLoader$1.next(ServiceLoader.java:457) 
    at javax.batch.runtime.BatchRuntime$1.run(BatchRuntime.java:51) 
    at javax.batch.runtime.BatchRuntime$1.run(BatchRuntime.java:46) 
    at java.security.AccessController.doPrivileged(AccessController.java:396) 
    at javax.batch.runtime.BatchRuntime.getJobOperator(BatchRuntime.java:46) 
    at com.citi.Report.App.main(App.java:18) 
Caused by: com.ibm.crypto.hdwrCCA.provider.JCECCARuntimeException: Hardware error from call CSNBRNGL returnCode 8 reasonCode 16000 
    at com.ibm.crypto.hdwrCCA.provider.SecureRandom.engineNextBytes(SecureRandom.java:40) 
    at java.security.SecureRandom.nextBytes(SecureRandom.java:470) 
    at java.util.UUID.randomUUID(UUID.java:157) 
    at org.jboss.weld.environment.se.Weld.initialize(Weld.java:779) 
    at org.jberet.se.SEArtifactFactory.<init>(SEArtifactFactory.java:29) 
    at org.jberet.se.BatchSEEnvironment.getArtifactFactory(BatchSEEnvironment.java:133) 
    at org.jberet.operations.JobOperatorImpl.<init>(JobOperatorImpl.java:93) 
    at java.lang.J9VMInternals.newInstanceImpl(Native Method) 
    at java.lang.Class.newInstance(Class.java:1887) 
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:385) 
    ... 6 more 

什么可能是这个错误的解决方案?

Hardware error from call CSNBRNGL returnCode 8 reasonCode 16000 

更新: 这个批处理程序不读/写任何主机文件,它仅仅是一个Hello World的例子。很少有显著东西,这个批处理程序确实 1. WELD阅读的beans.xml 2. JBeret阅读JBERET.properties 3.使用作为工作存储库中创建一个H2 DB

想知道如果任何这些可能需要这些额外的权限。

回答

3

IBM JCE实现尝试调用失败的cryptgraphic服务CSNBRNGL

原因代码16000说

RACF未能您的要求来使用此服务。

寻找进一步可以发现,执行代码的用户需要访问(读取应足够)的资源CSFRNGL在类CSFSERV

由于可能需要更多的服务,因此可能并不是您需要访问的唯一资源,因此可能会考虑沿着CSF*这一行的通用配置文件。

请参阅here了解所有CSFSERV RACF资源及其保护的服务的列表。

+0

谢谢,请问我们的Zos人看看这个链接。 – yathirigan