Ошибка ZOS при запуске пакетной программы Java JBERET

Я пытаюсь запустить эту пакетную программу jberet java в z/OS, но получаю следующее исключение. Кажется, это связано с разрешениями в z / OS, потому что тот же исполняемый (толстый / uber) jar отлично работал на машинах с Windows.

 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

Обновление: эта пакетная программа не читает и не записывает никакие файлы мэйнфреймов, это просто пример приветствия, мир. Несколько важных вещей, которые делает эта пакетная программа: 1. WELD читает beans.xml 2. JBeret читает JBERET.properties 3. Создает базу данных H2 для использования в качестве репозитория заданий

Мне интересно, могут ли какие-либо из них нуждаться в этих дополнительных разрешениях.


person yathirigan    schedule 05.10.2017    source источник


Ответы (1)


Реализация IBM JCE пытается вызвать криптографическую службу CSNBRNGL, что не удается.

Код причины 16000 говорит

RACF отклонил ваш запрос на использование этой службы.

Глядя дальше, можно обнаружить, что пользователю, выполняющему код, требуется доступ (READ должно быть достаточно) к ресурсу CSFRNGL в классе CSFSERV.

Поскольку, вероятно, потребуется еще несколько служб, это, вероятно, не единственный ресурс, к которому вам нужен доступ, поэтому, возможно, можно рассмотреть общий профиль в соответствии с CSF*.

См. здесь список всех CSFSERV RACF-ресурсов и сервисов, которые они защищают.

person piet.t    schedule 05.10.2017
comment
Спасибо, попросим наших сотрудников Zos взглянуть на эту ссылку. - person yathirigan; 05.10.2017