Error occured during JSP compilation in JBoss 5.0
by Ashish SHUKLA
Hi all,
While trying to view a jsp page I've deployed in a WAR (inside an EAR), I'm
getting following error:
---->8---->8----
01:55:08,585 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 30 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type
JspFactory
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:313)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:300)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:636)
----8<----8<----
Following is an excerpt from the generated java code (with line numbers):
----8<----8<----
28 public void _jspInit() {
29 _005fjspx_005ftagPool_005fc_005fif_0026_005ftest = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
30 _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
31 _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
32 }
---->8---->8----
From the Google search, I've concluded that this could be due to the
classloading issues. So I checked my EAR, to see if there is any system-provided
jar is deployed, but I found none. Then I started the JBoss with java's
-verbose:class switch, and found the javax.servlet.jsp.JspFactory is loaded from
the "jsp-api.jar" file shipped with JBoss.
---->8---->8----
% ./run.sh |fgrep JspFactory
[Loaded javax.servlet.jsp.JspFactory from jar:file:/home/dev/jboss-5.0.0.GA/common/lib/jsp-api.jar!/]
[Loaded org.apache.jasper.runtime.JspFactoryImpl from jar:file:/home/dev/jboss-5.0.0.GA/server/default/deploy/jbossweb.sar/jbossweb.jar!/]
[Loaded org.apache.jasper.runtime.JspFactoryImpl$1 from jar:file:/home/dev/jboss-5.0.0.GA/server/default/deploy/jbossweb.sar/jbossweb.jar!/]
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
----8<----8<----
Any ideas how to troubleshoot this issue ?
TiA
--
Ashish SHUKLA
17 years, 3 months
[JBoss jBPM] - JBPM Logging Filter Not Working As Described
by bdavis
I tried to create a log filter as described in: Chapter 17 of the documentation.
http://docs.jboss.org/jbpm/v3/userguide/logging.html
Here is the code for my logger:
| package org.jbpm.logging.db;
|
| import java.util.Collection;
| import java.util.HashSet;
| import java.util.List;
| import java.util.Set;
| import java.util.logging.Logger;
|
| import org.apache.commons.logging.Log;
| import org.apache.commons.logging.LogFactory;
| import org.jbpm.logging.log.ProcessLog;
|
| public class FilteredDbLoggingService extends DbLoggingService {
|
| private static final Log LOG = LogFactory.getLog(FilteredDbLoggingService.class);
| private static Set<Class> classFilter;
| public FilteredDbLoggingService(Set<Class> classFilter) {
| super();
| if(classFilter!=null)
| {
| LOG.debug("Set class filters.");
| this.classFilter = (classFilter);
| }
| else
| {
| this.classFilter = new HashSet<Class>();
| }
| }
|
| @Override
| public void log(ProcessLog processLog) {
| if(classFilter.contains(processLog.getClass()))
| {
| super.log(processLog);
| }
| else if(LOG.isDebugEnabled())
| {
| LOG.debug("Class not found: "+processLog.getClass());
| }
| }
| }
|
|
This is getting called successfully, as I have wired in my factory which uses the logger above.
However, I get the following exception when I run JBPM in the container:
| java.lang.RuntimeException: javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state
| at org.jboss.aspects.tx.TxPolicy.handleEndTransactionException(TxPolicy.java:198)
| at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:180)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
| at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:94)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.service.ServiceContainer.localInvoke(ServiceContainer.java:309)
| at org.jboss.ejb3.service.ServiceLocalProxy.invoke(ServiceLocalProxy.java:77)
| at $Proxy165.startActionUnitWorkflow(Unknown Source)
| at com.enernoc.actionService.action.jms.ActionUnitWorkflowCreateQueueConsumerMdb.onMessage(ActionUnitWorkflowCreateQueueConsumerMdb.java:32)
| at sun.reflect.GeneratedMethodAccessor758.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
| at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
| at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.tx.BMTInterceptor.handleStateless(BMTInterceptor.java:71)
| at org.jboss.ejb3.tx.BMTInterceptor.invoke(BMTInterceptor.java:131)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:245)
| at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268)
| at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138)
| at $Proxy178.onMessage(Unknown Source)
| at org.jboss.resource.adapter.jms.inflow.JmsServerSession.onMessage(JmsServerSession.java:178)
| at org.jboss.jms.client.container.ClientConsumer.callOnMessageStatic(ClientConsumer.java:160)
| at org.jboss.jms.client.container.SessionAspect.handleRun(SessionAspect.java:831)
| at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect14.invoke(SessionAspect14.java)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
| at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
| at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
| at org.jboss.jms.client.delegate.ClientSessionDelegate.run(ClientSessionDelegate.java)
| at org.jboss.jms.client.JBossSession.run(JBossSession.java:199)
| at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:237)
| at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
| at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state
| at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1394)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
| at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
| at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
| ... 51 more
| Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.jbpm.logging.log.CompositeLog
| at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219)
| at org.hibernate.type.EntityType.getIdentifier(EntityType.java:397)
| at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:242)
| at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:597)
| at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:3123)
| at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:479)
| at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:204)
| at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:127)
| at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
| at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
| at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
| at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:59)
| at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
| at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:247)
| at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
| at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1382)
| ... 54 more
|
We are running 3.2.6GA in the container, with JBPM Enterprise EAR deployed. Here is the configuration I have for JBPM.
| <jbpm-configuration>
| <jbpm-context>
| <service name="persistence" factory="org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory" />
| <service name="message" factory="org.jbpm.msg.jms.JmsMessageServiceFactory" />
| <service name="scheduler" factory="org.jbpm.scheduler.ejbtimer.EntitySchedulerServiceFactory" />
| <service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
| <service name="logging">
| <factory>
| <bean class="org.jbpm.logging.db.FilteredDbLoggingServiceFactory">
| <property name="filteredClasses">
| <list>
| <string>org.jbpm.graph.log.TransitionLog</string>
| </list>
| </property>
| </bean>
| </factory>
| </service>
|
| <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
| </jbpm-context>
|
| <null name="jbpm.job.executor" />
|
| </jbpm-configuration>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4204122#4204122
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4204122
17 years, 3 months
[JBoss jBPM] - Re: Ad-hoc one of workflow piece
by pjacobsen
That was what I was thinking.... thanks for the feedback. (And for what it's worth I don't like having to implement this... seems to run in the face of having a process to follow and then throwing in some extra steps... but you gotta do what you gotta do if the users can't live without being able to have something like that)
So... on the concept of intercepting signaling on a node when the user specifies "I need this one-off process to occur after x node completes"... my only thought was to override the leave functions on a set of nodes that extend from the core jBPM ones and have those suspend the workflow and start the one-off when they are flagged to do so. Any thoughts on other ways to interrupt? I remember reading that you are not supposed to alter the context during event handlers like a node-leave (i.e. it should just be for reference and trigger other external activities)... but that was the only other place I could think of trying to suspend the flow.
Thanks again for helping thinking this through.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4204118#4204118
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4204118
17 years, 3 months
[EJB 3.0] - jsf injection ejb3
by slaash
Hello,i've got a problem! :)
i use jboss 5, ejb3, jpa, jsf1.2 under eclipse!
so currently in my ejb project i ve got this:
local interface:
@Local
public interface UserLocal
implementation bean:
@Stateless(name = "UserB", mappedName = "ejb/stateless/User")
public class UserBean implements UserLocal
in the managed bean (JSF) (in the web dynamic project):
@EJB(name = "UserB", mappedName = "ejb/stateless/User")
private UserLocal userBean;
i get this error:
20:37:42,110 ERROR [lifecycle] JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /signon.jsp) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@1939379]
20:37:42,110 ERROR [[Faces Servlet]] "Servlet.service()" pour la servlet Faces Servlet a généré une exception
javax.naming.NameNotFoundException: User not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
and i tried with the remote interface and it works, so i don't understand why... please help!lol :)
thanks!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4204116#4204116
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4204116
17 years, 3 months