Notices tagged with javaee
-
Roland Häder (roland)'s status on Wednesday, 24-Aug-2016 11:48:16 CEST Roland Häder
Improving my !java #javaee application by replacing ...
<h:outputText styleClass="errors" value="#{msg.ADMIN_LIST_LAND_LINE_EMPTY}" rendered="#{phoneController.allLandLineNumbers().isEmpty()}" />
... with ...
<ui:fragment rendered="#{phoneController.allLandLineNumbers().isEmpty()}">
<ui:include src="/WEB-INF/templates/generic/message_box.tpl">
<ui:param name="message" value="#{msg.ADMIN_LIST_LAND_LINE_EMPTY}" />
<ui:param name="styleClass" value="errors" />
</ui:include>
</ui:fragment>
Yes, the ugly ui:fragment is being (ab-)used here. But as I wrote before, I'm in big need of a #JSF tag that only renders the body, if "rendered" equals true. -
Roland Häder (roland)'s status on Wednesday, 24-Aug-2016 10:12:46 CEST Roland Häder
I'm currently thinking of adding Version annotation (and a Long, not long, field) to my !java #javaee project. Con is, as I have read, that users may see failed updates. -
Roland Häder (roland)'s status on Friday, 19-Aug-2016 17:32:32 CEST Roland Häder
!java ore more #javaee : When my controller (managed bean) finishes successful a new outcome is being returned (as usual). With "?faces-redirect=true&includeViewParams=true" being added, it doesn't want to redirect. Is there an updated documentation how to redirect and include view parameter? -
Roland Häder (roland)'s status on Monday, 15-Aug-2016 10:24:07 CEST Roland Häder
I have just reported a #bug in #Payara (and #Glassfish) that needs fixing, it looks like the container becomes confused with all the remote interface calls, JMS message queues and all the annotations (that are all needed, of course): https://github.com/payara/Payara/issues/1035 cc !java #javaee #ejb -
Roland Häder (roland)'s status on Friday, 29-Jul-2016 14:48:21 CEST Roland Häder
The class does not have a descriptor, or a descriptor that does not use inheritance or uses a ClassExtractor for inheritance
The mentioned message still comes when you have @Inheritance (strategy = InheritanceType.TABLE_PER_CLASS) in your abstract (not-persisted) with latest version of #Payara / #Glassfish which both contains #EclipseLink by default.
Strange that they did not yet fix it. And unfortunally migrating to e.g. #WilfFly (which uses other #JPA) seems not so easy as you may think.
Currently I have no idea how to fix it and sadly I need the strategy as this #JavaEE application is written for an existing database layout.
Someone may have to raise a support ticket mentioning that the #bug is still there.
Reposted with #public visibility. Sorry for double message. -
Roland Häder (roland)'s status on Friday, 22-Jul-2016 12:53:42 CEST Roland Häder
Glasfish / Payara sometimes throw ClassCastException
I sometimes get this error message after I have redeployed (also with in-place deployment) a WAR project and have tried to use a JSF form:Warnung: StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
java.lang.ClassCastException: Object is not of remote type java.rmi.Remote
at com.sun.corba.ee.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:254)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:150)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$12.read(DynamicMethodMarshallerImpl.java:352)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:482)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:201)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226)
at com.sun.ejb.codegen._GenericEJBHome_Generated_DynamicStub.create(com/sun/ejb/codegen/_GenericEJBHome_Generated_DynamicStub.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:421)
at com.sun.ejb.containers.RemoteBusinessObjectFactory.getObjectInstance(RemoteBusinessObjectFactory.java:75)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at com.sun.enterprise.naming.impl.SerialContext.getObjectInstance(SerialContext.java:527)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:487)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at de.chotime.jreports.beans.contact.ReportsContactWebSessionBean.<init>(ReportsContactWebSessionBean.java:237)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:119)
at org.jboss.weld.injection.ConstructorInjectionPoint.invokeAroundConstructCallbacks(ConstructorInjectionPoint.java:92)
at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:78)
at org.jboss.weld.injection.producer.AbstractInstantiator.newInstance(AbstractInstantiator.java:28)
at org.jboss.weld.injection.producer.BasicInjectionTarget.produce(BasicInjectionTarget.java:116)
at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:180)
at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:158)
at org.jboss.weld.util.bean.IsolatedForwardingBean.create(IsolatedForwardingBean.java:45)
at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
at org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:76)
at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)
at org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.get(ContextualInstanceStrategy.java:178)
at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:67)
at org.jboss.weld.event.ObserverMethodImpl.getReceiver(ObserverMethodImpl.java:339)
at org.jboss.weld.event.ObserverMethodImpl.getReceiverIfExists(ObserverMethodImpl.java:326)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:284)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:265)
at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:271)
at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:260)
at org.jboss.weld.event.EventImpl.fire(EventImpl.java:89)
at de.chotime.jreports.beans.login.ReportsUserLoginWebSessionBean.doUserLogin(ReportsUserLoginWebSessionBean.java:170)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.ELUtil.invokeMethod(ELUtil.java:332)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:537)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
at com.sun.el.parser.AstValue.invoke(AstValue.java:283)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
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 org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
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.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
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:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:526)
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)
My previous #JavaEE trainer said it is a bug in #Glassfish / #Payara but it starts to become more anoying. Does someone know something to prevent this from happening?
Yes, filling out a bug report may help. :-) But maybe there is a trick or so?
The most "outter" exception says:javax.servlet.ServletException: javax.faces.view.facelets.FaceletException: javax.naming.NamingException: Lookup failed for 'java:global/jreports-ejb/contact!org.mxchange.jcontacts.contact.ContactSessionBeanRemote' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NamingException: ejb ref resolution error for remote business interfaceorg.mxchange.jcontacts.contact.ContactSessionBeanRemote [Root exception is java.lang.ClassCastException]]
The interface in question (see the JNDI string end) "ContactSessionBeanRemote" is annotated with @Remote (javax.ejb.Remote) and not java.rmi.Remote as the exception says.
It is declared as following:public interface ContactSessionBeanRemote extends Serializable {
...
} -
Roland Häder (roland)'s status on Tuesday, 24-May-2016 17:17:49 CEST Roland Häder
Common mistake while developing a #JavaEE application: imported javax.faces.bean.SessionScoped instead of javax.enterprise.context.SessionScoped which caused the session bean to be not session-scoped. /cc !java -
Markus Kilås (netmackan)'s status on Friday, 04-Mar-2016 21:33:33 CET Markus Kilås
Payara Server 161.1 Patch release is out http://www.payara.fish/payara_server_1611_is_out #opensource #GlassFish !Java #JavaEE -
Roland Häder (roland)'s status on Friday, 04-Mar-2016 15:44:27 CET Roland Häder
Glassfish versus Wildfly (Tomcat EE) with custom JARs
I'm currently setting up a #Glassfish container for letting run my #JavaEE applications (will be #GNU #GPLv3 or maybe later #Affero) as this was later my choice after a previous unsuccessful attempt with #WildFly (LAN only).
Back what happened before. First of, I had Glassfish 4.1.1 which is currently bugged (#RuntimeException) and doesn't allow me to setup essential things like #JBDC resources or connection pools. So I tried WildFly next.
My applications have custom JARs (libs) which in Glassfish I need to copy to $DOMAIN_HOME/lib/ (and the #MySQL connector to $GLASSFISH_HOME/modules/) and that is all. With WildFly I had trouble even setting up a really simple #EJB (logging with #log4j over a local interface), because I was not able to find to where to my custom JARs (some really simple JARs are required + log4j). So I tried to setup all as modules (module.xml) but no success.
After many unsuccessful attempts I switched back to #Glassfish and found an older (but working) 4.1 version which finally let my applications and the #JPA stuff all work correctly.
Sadly, I now have to "hang around" with #Oracle which is known to be slow in fixing bugs ... But at least my applications are running ...
Not really a good argument for switching to WildFly or #TomcatEE, right? Or where do I have to put my JARs (and log4j)? -
Roland Häder (roland)'s status on Thursday, 25-Feb-2016 16:51:38 CET Roland Häder
Again today I got rejections of my !java applications I sent out. One offer is about #Hibernate and #JSF in #JavaEE environment. Companies need to understand that there is no need to ask for a specific persistence API (#JPA) as if you write your Java code again javax.persistence and maybe javax.enterprise your code becomes independent as these interfaces and classes there are generic enough. But sadly many companies (at least here in Germany) don't understand this. -
Roland Häder (roland)'s status on Friday, 19-Feb-2016 16:35:55 CET Roland Häder
I have now "GNU-ified" my !java projects I have written on my #JavaEE training at the #IBB. License for Java files is #GPLv3, documentation (if any) is #FDLv1.2. They are already pushed to my server at https://git.mxchange.org but not yet exported for public reading and access rights are missing on them, too. So currently no "git clone git://git.mxchange.org/jcore.git" is possible. Please standby! -
Roland Häder (roland)'s status on Tuesday, 09-Feb-2016 14:37:59 CET Roland Häder
@sebasfc wenn es nur beim reinen bewerben bliebe ... Bei #Hartz4 gibt es einen #Bewerbungszwang. Das heisst, du musst dich auf Stellen bewerben, wo dich irgentwann die Firmen gar nicht haben wollen (z.B. auf #ASP.net, obwohl ich "nur" #PHP5 und #JavaEE kann (nicht alles versteht sich). Das macht keinen Sinn und nervt auch die Firmen: "Ah, wieder so einer, der sich bewerben muss ..." Und schon ist meine Bewerbung fuer die Katz. :-( -
Markus Kilås (netmackan)'s status on Friday, 05-Feb-2016 18:46:38 CET Markus Kilås
Created a !fedgroups for !java development and related technologies #jvm #scala #groovy #jruby #development #javaee http://qttr.at/14jz