Wildfly выдает UnsupportedOperationException (контекст именования доступен только для чтения) при запуске - PullRequest
1 голос
/ 03 апреля 2019

Мы настраиваем новый промежуточный сервер (работающий под управлением Ubuntu) и сталкиваемся с ошибками при запуске WildFly.Основным из них является

java.lang.UnsupportedOperationException: WFLYNAM0043: Naming context is read-only

, что приводит к множеству ошибок, связанных с отсутствующими зависимостями.

Мы настроили нашу базу данных (liquibase) на другом сервере, который мы можем использовать внутри ssh.Мы также изучили StackOverflow и попытались добавить

set "JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=**true**"

в наши standalone.conf, standalone.bat и standalone.conf.bat (ради того, чтобы попробовать все!).Мы также увидели, что это должно быть исправлено в WildFly 7.1.1, мы сами запускаем 9 (для эмуляции живого сервера).Мы пытались вручную установить зависимости, но их так много - и, честно говоря, мы думаем, что это не главная проблема.

Мы также запускаем nginx и Redis, как мы видели в server.log (см. Ниже), чтоошибка возникает после «Запущенного кэша Redis Hibernate», но сама ошибка, кажется, специфична для WildFly.

Чанк server.log ниже:

2019-04-03 10:52:38,252 INFO  [com.company.ejb.util.config.ConfigRetriever] (ServerService Thread Pool -- 56) Successfully found and read the config file at /opt/wildfly/config.yml
2019-04-03 10:52:38,300 INFO  [com.company.ejb.entity.cache.RedisRegionFactory] (ServerService Thread Pool -- 56) Started Hibernate Redis cache
2019-04-03 10:52:46,896 INFO  [org.jboss.weld.Event] (MSC service thread 1-2) WELD-000411: Observer method [BackedAnnotatedMethod] com.sun.jersey.server.impl.cdi.CDIExtension.processAnnotatedType(@Observes ProcessAnnotatedType<Object>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds.
2019-04-03 10:52:47,041 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."DoThePublish.ear".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."DoThePublish.ear".WeldStartService: Failed to start service
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:
Exception 0 :
java.lang.UnsupportedOperationException: WFLYNAM0043: Naming context is read-only
        at org.jboss.as.naming.WritableServiceBasedNamingStore.requireOwner(WritableServiceBasedNamingStore.java:161)
        at org.jboss.as.naming.WritableServiceBasedNamingStore.createSubcontext(WritableServiceBasedNamingStore.java:151)
        at org.jboss.as.naming.NamingContext.createSubcontext(NamingContext.java:417)
        at org.jboss.as.naming.InitialContext$DefaultInitialContext.createSubcontext(InitialContext.java:298)
        at org.jboss.as.naming.NamingContext.createSubcontext(NamingContext.java:425)
        [...]

2019-04-03 10:52:47,078 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "DoThePublish.ear")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"DoThePublish. ear\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"DoThePublish.ear\".WeldStartService: Failed to
 start service
    Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:
Exception 0 :
java.lang.UnsupportedOperationException: WFLYNAM0043: Naming context is read-only
        at org.jboss.as.naming.WritableServiceBasedNamingStore.requireOwner(WritableServiceBasedNamingStore.java:161)
        at org.jboss.as.naming.WritableServiceBasedNamingStore.createSubcontext(WritableServiceBasedNamingStore.java:151)
        at org.jboss.as.naming.NamingContext.createSubcontext(NamingContext.java:417)
        at org.jboss.as.naming.InitialContext$DefaultInitialContext.createSubcontext(InitialContext.java:298)
        at org.jboss.as.naming.NamingContext.createSubcontext(NamingContext.java:425)
        [...]
"}}
2019-04-03 10:52:47,178 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 32) WFLYSRV0010: Deployed "DoThePublish.ear" (runtime-name : "DoThePublish.ear")
2019-04-03 10:52:47,186 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report 
WFLYCTL0186:   Services which failed to start:      service jboss.deployment.unit."DoThePublish.ear".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."DoThePublish.ear".WeldStartService: Failed to start service

2019-04-03 10:52:47,581 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
2019-04-03 10:52:47,582 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
2019-04-03 10:52:47,582 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: WildFly Full 9.0.1.Final (WildFly Core 1.0.1.Final) started (with errors) in 42472ms - Started 4599 of 5108 services (362 services failed or missing dependencies, 209 services are lazy, passive or on-demand)

Затем следует, что естькуча отсутствующих зависимостей (их можно найти):

WFLYCTL0184:    New missing/unsatisfied dependencies:
      service jboss.deployment.subunit."DoThePublish.ear"."CoreEjb.jar".component.AbstractEntityMainSB.CREATE (missing) dependents: [service jboss.deployment.subunit."DoThePublish.ear"."CoreEjb.jar".component.AbstractEntityMainSB.START]
      service jboss.deployment.subunit."DoThePublish.ear"."CoreEjb.jar".component.AbstractEntityMainSB.START (missing) dependents: [service jboss.deployment.subunit."DoThePublish.ear"."CoreEjb.jar".moduleDeploymentRuntimeInformationStart, service jboss.deployment.subunit."DoThePublish.ear"."CoreEjb.jar".deploymentCompleteService]
      service jboss.deployment.subunit."DoThePublish.ear"."CoreEjb.jar".component.AbstractEntityMainSB.VIEW."com.company.ejb.session.AbstractEntityMainSBL".LOCAL (missing) dependents: [service jboss.deployment.subunit."DoThePublish.ear"."CoreEjb.jar".component.AbstractEntityMainSB.START]

Мы пытались сравнить установку с существующим производственным (живым) сервером, но в команде разработчиков произошел большой поворот, поэтомуточно известно, как они настроены.Инструкций по настройке нет, поэтому мы стараемся что-то делать по ходу дела - возможно, предыдущий сервер сталкивался с такими же проблемами, но мы понятия не имеем.

Мы хотим исправить это исключение, чтобы можно было надеяться, что мы сможем без проблем запустить wildfly (и, следовательно, наш веб-сайт) (или, по крайней мере, перейти к следующей ошибке ...). Любая помощь очень ценится!

1 Ответ

0 голосов
/ 04 апреля 2019

Итак, после нескольких попыток, мы поняли это.Строку, которую мы пытались реализовать, нужно немного изменить:

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true"

Поэтому мы удалили 'set' и удалили звездочки и прочее.В нашем случае это был файл .conf, который нуждался в строке, я полагаю, что для различных типов реализаций это может быть .bat или .conf.bat - извините, я не могу помочь в этом.

Надеюсь, это поможет кому-то еще!

...