2015-11-16 42 views
7

Zainstalowałem program Glassfish 4 i próbowałem utworzyć niektóre zasoby JMS w celu przeprowadzenia samouczka dotyczącego nauki JMS, ale jest to niemożliwe. W interfejsie internetowym zawsze pojawia się tekst "java.lang.RuntimeException", a na konsoli dziennika pokazuje ślad stosu. Ten wyjątek jest generowany zawsze, pcham link "New ..." na stronie "JMS Destination Resources" lub na stronie fabryk połączeń. Oto ślad stosu:Nie można utworzyć żadnego zasobu JMS za pomocą programu Glassfish 4.1 web administrator

[#|2015-11-16T09:15:24.090+0100|INFO|glassfish 4.1|org.glassfish.admingui|_ThreadID=48;_ThreadName=admin-listener(5);_TimeMillis=1447661724090;_LevelValue=800;| 

Exception Occurred :null|#] 

[#|2015-11-16T09:15:24.097+0100|INFO|glassfish 4.1|org.glassfish.admingui|_ThreadID=48;_ThreadName=admin-listener(5);_TimeMillis=1447661724097;_LevelValue=800;| 

Exception Occurred :null|#] 

[#|2015-11-16T09:15:24.100+0100|SEVERE|glassfish 4.1|javax.enterprise.resource.webcontainer.jsf.context|_ThreadID=48;_ThreadName=admin-listener(5);_TimeMillis=1447661724100;_LevelValue=1000;| 
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException while attempting to process a 'beforeCreate' event for 'event166'. 
    at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:422) 
    at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394) 
    at com.sun.jsftemplating.layout.descriptors.LayoutComponent.beforeCreate(LayoutComponent.java:348) 
    at com.sun.jsftemplating.layout.descriptors.LayoutComponent.getChild(LayoutComponent.java:288) 
    at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:556) 
    at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:551) 
    at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:507) 
    at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:507) 
    at com.sun.jsftemplating.layout.LayoutViewHandler.createView(LayoutViewHandler.java:255) 
    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:256) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:123) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) 

    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 
    at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:233) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) 
    at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:678) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) 
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) 
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) 
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) 
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.GeneratedMethodAccessor156.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:442) 
    at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420) 
    ... 46 more 
Caused by: java.lang.NullPointerException 
    at com.sun.jsftemplating.handlers.UtilHandlers.mapPut(UtilHandlers.java:314) 
    ... 51 more 
|#] 

Nie rozumiem, dlaczego rozwiązanie tego irytującego błędu nie jest zarejestrowane w Internecie. Czy ktoś może mi pomóc?

+2

Rozwiązaniem jest prawdopodobnie Payara. Glassfish jest open source nieobsługiwaną implementacją referencyjną, Payara jest wciąż wolna, a open source faktycznie regularnie stosuje poprawki do oprogramowania serwera. Nie ma wielu powodów, aby instalować Glassfish już w mojej opinii. http://www.payara.co.uk/home. – Gimby

Odpowiedz

3

jestem z tym samym problemem tutaj z JDBC Resources

Obejście

udało mi się dodać zasobów za pomocą asadmin console z poleceniem add-resources

można znaleźć w dokumentacji tutaj używa plik xml: https://docs.oracle.com/cd/E19776-01/820-4497/6nfv6jlim/index.html

Próbowałem również Glassfish 4.0 (nie 4.1.1) i wszystko działało dobrze wt on Web Admin-GUI

Wyjaśniając moja sprawa

Używam GlassFish 4.1.1 (build 1) w Darwin Kernel wersja 14.4.0 z wersji java "1.8.0_40" (Java 8u66)

próbowałem dodać nowy zasób JDBC na opiekunie-gui: -> menu po lewej stronie -> serwer -> -> Resources ComboBox 'nowych' zasobów JDBC

w rzeczywistości occours błędach we wszystkich opcjach tego combobox. Również sam problem w: -> menu po lewej stronie -> Resources -> JDBC -> JDBC Resources (lub JDBC pula połączeń)

Web GUI show "klasa java.lang.RuntimeException" i plik dziennika mówi:

[2015-11-18T09:34:46.529-0200] [glassfish 4.1] [SEVERE] [] [javax.enterprise.resource.webcontainer.jsf.context] 
[tid: _ThreadID=52 _ThreadName=admin-listener(3)] [timeMillis: 1447846486529] [levelValue: 1000 [[java.lang.RuntimeException: 
java.lang.reflect.InvocationTargetException while attempting to process a 'beforeCreate' event for 'event157'. 
     at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:422) 
     at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394) 
     at com.sun.jsftemplating.layout.descriptors.LayoutComponent.beforeCreate(LayoutComponent.java:348) 
.... [snip] 
Caused by: java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
.... [snip] 
Caused by: java.lang.NullPointerException 
     at com.sun.jsftemplating.handlers.UtilHandlers.mapPut(UtilHandlers.java:314) 
.... [snip] 
+1

@VictorStafusa Ten numer jest [zgłoszony w github.com] (https://github.com/javaee/glassfish/issues/21437) i najwyraźniej został naprawiony w wersji 5.0. Teraz Glassfish jest dostępny za pośrednictwem 'git' i używa Mavena, powinno być możliwe zbudowanie wersji rozwojowej i wypróbowanie go, mimo że ten błąd wykazuje wadliwą jakość oprogramowania i podważa zaufanie do implementacji referencyjnej Java EE, komentarze na ten temat mówią sami. –

3

Wystąpił podobny błąd podczas tworzenia zasobu JMS CF i Kolejka połączeń/temat. Ale poniżej polecenia pracował dla mnie na polecenia asadmin>

asadmin> create-jms-resource --host localhost --port 4848 --restype javax.jms.TopicConnectionFactory --property Name=MyID jms/DurableTopicConnectionFactory 

polecenia create-JMS-resource wykonana pomyślnie.

Komenda create-jms-resource została pomyślnie wykonana.

asadmin> create-jms-resource --host localhost --port 4848 --restype javax.jms.Topic --property Name=PhysicalTopic jms/MyTopic 

składnia Nieaktualne, zamiast używać:
asadmin --host localhost --port 4848 create-jms-resource [options] ..
podawać JMS obiekt/MyTopic utworzony. Polecenie create-jms-resource zostało pomyślnie wykonane.

asadmin> create-jms-resource --host localhost --port 4848 --restype javax.jms.Queue --property Name=PhysicalQueue jms/MyQueue 

Obiekt zarządzany jms/MyQueue został utworzony.

Uwaga: Możesz bezpiecznie zignorować wiadomość przestarzałą. Po prostu odśwież zasoby strony administratora i kliknij "Nowy", zobaczysz nowe zasoby.

mam nadzieję, że to pomoże.

2

Ten problem prawdopodobnie został rozwiązany w Glassfish 4.1.2, gdzie możliwe jest utworzenie nowych zasobów JMS przy użyciu interfejsu administratora sieci.

+0

To szkoda, że ​​wciąż oferują 4.1.1 na oficjalnej stronie pobierania netbeans :( Jakie to jest oprogramowanie, jeśli wypuszczą złamaną aplikację na świat? – Palo