Виртуальный сервер Glassfish 3.1 кошмар - PullRequest
6 голосов
/ 09 июля 2011

Я использую сервер Glassfish 3.1.1 (Редакция 3.1 (сборка 43)).Я развернул веб-приложение с именем "void" . Теперь я создал виртуальный сервер, где на хостах, которые я написал,

${com.sun.aas.hostName},pradyut.dyndns.org

в сетевых слушателях, которые я выбрал

http-listener-1

в веб-модуле по умолчанию я выбрал веб-приложение с именем "void"

Теперь есть две проблемы:

1) Каждый раз, когда я перезагружаю серверhttp-sevice-1 переходит в автономный режим и при каждом запросе выводит трассировку стека: -

    SEVERE: PWC3989: An exception or error occurred in the container during the request processing
java.lang.ClassCastException: com.sun.grizzly.config.ContextRootInfo cannot be cast to org.apache.catalina.Context
at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:515)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:267)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:619)

Решение состоит в том, чтобы

1) Отменить развертывание приложения void.

2) Перезагрузите сервер.

3) Разверните приложение void

Это не было проблемой в Glassfish 3.0 без кластеризации (насколько я помню).

Вторая проблемавсякий раз, когда я делаю виртуальный сервер, я получаю ошибку:

    INFO: webContainer.virtual-server.loadedDefaultWebModule
SEVERE: WEB0163: Exception processing HttpService configuration change
org.apache.catalina.LifecycleException: java.lang.Exception: No context matching /void deployed on virtual server void
at com.sun.enterprise.web.WebContainer.updateDefaultWebModule(WebContainer.java:2034)
at com.sun.enterprise.web.WebContainer.updateHost(WebContainer.java:2916)
at com.sun.enterprise.web.WebContainer.updateHttpService(WebContainer.java:3047)
at com.sun.enterprise.web.reconfig.WebConfigListener$1.changed(WebConfigListener.java:159)
at org.jvnet.hk2.config.ConfigSupport.sortAndDispatch(ConfigSupport.java:332)
at com.sun.enterprise.web.reconfig.WebConfigListener.changed(WebConfigListener.java:114)
at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:379)
at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:369)
at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:259)
at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:257)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.Exception: No context matching /void deployed on virtual server void
at com.sun.grizzly.util.http.mapper.Mapper.addDefaultContext(Mapper.java:795)
at com.sun.grizzly.util.http.mapper.Mapper.setDefaultContextPath(Mapper.java:759)
at com.sun.enterprise.web.WebContainer.updateDefaultWebModule(WebContainer.java:2026)
... 14 more

У меня нет никакого решения для кошмара виртуального сервера.Если вы не можете повторить вышеуказанную ошибку, завершите процесс сервера из диспетчера задач ОС.затем запустите и попробуйте.

Кстати, как оформить билет на Glassfish?где стеклянная рыба Багзилла?

1 Ответ

2 голосов
/ 05 октября 2012

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

Я создал 8 виртуальныхсерверы и пытались установить веб-модули по умолчанию для каждого из них одновременно, убедившись, что приложение было настроено для запуска на выбранном виртуальном сервере на странице редактирования приложений (с помощью консоли администрирования на 4848).Он работал на каждом виртуальном сервере, который предшествовал «серверу» в алфавите, а не на любом виртуальном сервере после «сервера» в алфавите.В этом случае стандартный виртуальный сервер «сервер» был установлен как виртуальный сервер по умолчанию для прослушивателя http.

Я установил виртуальный сервер по умолчанию для прослушивателя http на новый виртуальный сервер, который я назвал бы «zzz», и теперьКажется, я могу установить веб-модули по умолчанию для других моих виртуальных серверов без возникновения этой ошибки (опять же, проверяя, правильно ли настроена конфигурация приложения).

В моем файле domain.xml виртуальные серверы перечислены впорядок добавлен, и это не влияет на проблему.Я думаю, можно с уверенностью сказать, что это ошибка, а не ошибка конфигурации.

Надеюсь, я хорошо это объяснил, поскольку я только начал пытаться узнать, как работают серверы / glassfish.

...