2017-10-05 92 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