Stateless session bean - time out error while waiting to get an instance from the free pool - ejb

I am getting following exception. It is suspected that the problem occurs when lots of JMS messages are generated.
javax.ejb.EJBException: EJB Exception: ; nested exception is:
java.lang.RuntimeException: An invocation of EJB NeManagerAlarmProcessor(Application: onecontrol, EJBComponent: uigraphmanagement-emshealth-nemanageralarm.jar) timed out while waiting to get an instance from the free pool.; nested exception is: java.lang.RuntimeException: An invocation of EJB NeManagerAlarmProcessor(Application: onecontrol, EJBComponent: uigraphmanagement-emshealth-nemanageralarm.jar) timed out while waiting to get an instance from the free pool.
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:121)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:103)
at com.sun.proxy.$Proxy267.handleNotification(Unknown Source)
at com.company.rm.uigraph.emshealth.nemanageralarm.messaging.UIAlarmMDB.onMessage(UIAlarmMDB.java:30)
at sun.reflect.GeneratedMethodAccessor394.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)

Related

BizTalk Server Migration to 2016

Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'CSC.Integration.Orchestrations.LegacyBizTalkProcess(71c7729e-22ac-be38-00c0-0b11beaba439)'.
The service instance will remain suspended until administratively resumed or terminated.
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: 296a4475-58f6-4fa4-8b90-65fe752e9872
Shape name: e_Logging
ShapeId: 919d78da-57e8-4ae1-bd2f-39859310c6de
Exception thrown from: segment 1, progress 20
Inner exception: The type initializer for 'CSC.AppBlocks.Logging.Logger' threw an exception.
Exception type: TypeInitializationException
Source: CSC.AppBlocks.Logging
Target Site: Void Write(CSC.AppBlocks.Logging.Category, System.String, System.String)
The following is a stack trace that identifies the location where the exception occured
at CSC.AppBlocks.Logging.Logger.Write(Category category, String message, String title)
at CSC
We are working on BizTalk migration to 2016 and in testing the application we are getting above error and we updated all Gacs and for this receive location we are using MSMQ adapter. But it is working in BizTalk server 2010.
Are you sure the DLL that contains the namespace CSC.AppBlocks.Logging is GAC'd?
Are there other DLLs that CSC.AppBlocks.Logging depends on that may not be GAC'd?
Did you restart the host instance after GAC'ing the DLL?
Is your DLL 32-bit only? If so, make sure you change your host instance settings to only run as a 32-bit process.
Is there an inner exception reported in any of the messages? Perhaps in the Event Viewer?

Kafka Listeners are getting active before spring boot application startup for Spring Kafka 2.2.3.RELEASE

We are using Spring-Kafka 2.2.3.RELEASE in our spring boot application (Spring Boot 2.1.2.RELEASE) and we have some kafka consumers defined in the application as,
#Component
#RefreshScope
#ConditionalOnProperty(prefix = "ord", value = "order-event.messaging.consumer.enabled", havingValue = "true")
public class OrderEventListener {
#KafkaListener(id = "orderEventListener", topics = "#{'${order.consumer.topic}'}")
public void consumeMessageEvent(OrderEvent messageEvent,ConsumerRecord<String, ?> record) {
// do some further processing.
}
}
Now lets jump to the question,
So when I start the application, so on application startup itself, it activates this consumer and tries to connect to broker but broker is not up and running in my system and after timeout, it throws the error
Error creating bean with name 'scopedTarget.orderEventListener'
and shows 'Application run failed' and terminate the process.
Why it requires broker to be up and running at the startup of the
application?
Previously we were using Spring Kafka 1.1.8.RELEASE, and it used to work without starting the broker and application used to start up normally.
Is that the expected behavior ? So the behavior got changed from version 1.1.8 to 2.2.3 ?
Additional Logs,
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.orderEventListener' Initialization of bean failed; nested exception is org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:584) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$1(AbstractBeanFactory.java:356) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.getBean(GenericScope.java:390) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE]
at org.springframework.cloud.context.scope.GenericScope.get(GenericScope.java:184) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:353) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1083) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.cloud.context.scope.refresh.RefreshScope.eagerlyInitialize(RefreshScope.java:130) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE]
at org.springframework.cloud.context.scope.refresh.RefreshScope.start(RefreshScope.java:121) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE]
at org.springframework.cloud.context.scope.refresh.RefreshScope.onApplicationEvent(RefreshScope.java:115) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE]
at org.springframework.cloud.context.scope.refresh.RefreshScope.onApplicationEvent(RefreshScope.java:71) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:398) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:355) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:882) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163) ~[spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at oal.oracle.apps.ic.coll.ordsbx.Application.main(Application.java:59) [classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.1.2.RELEASE.jar:2.1.2.RELEASE]
Caused by: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
It is due to a change to the underlying kafka-clients library (since 2.0.0).
Previously, it would block forever, giving the application no control at all, which was unacceptable for many users.
Now, the operation will time out if the broker is not available.
I am not sure why it is failing during bean creation - it should only occur when the container is start()ed later in the application lifecycle. But I see you are using devtools so I am not sure it that is exacerbating the problem - edit the question to show the complete stack trace (you should never truncate stack traces here, since we can't see the complete story).
Normally, this can be avoided by setting autoStartup to false and then starting the container(s) yourself later, in a loop, waiting for the broker to exist.

Getting Error in EntityManagerWrapper.getNonTxEMsFromCurrentInvocation(EntityManagerWrapper.java:276)

I am having my application deployed in EJBContainer in glassfish server. I am calling one method using Callable and future in session bean, and in this method i'm using EntityManager for some transaction but getting an NullPointerException for whenever any call to EntityManager is there. Below is the error stack trace::
Severe: java.lang.NullPointerException
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getNonTxEMsFromCurrentInvocation(EntityManagerWrapper.java:276)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getNonTxEMFromCurrentInvocation(EntityManagerWrapper.java:260)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:213)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createQuery(EntityManagerWrapper.java:455)
at LogisticsEngineSessionBean.getAllPackSerialsForProcess(LogisticsEngineSessionBean.java:3137)
at LogisticsEngineSessionBean.processSalesOutLines(LogisticsEngineSessionBean.java:3462)
at LogisticsEngineSessionBean.lambda$updateSKULocationStatusOnSell$0(LogisticsEngineSessionBean.java:2972)
at LogisticsEngineSessionBean$$Lambda$7/1138463255.call(Unknown Source)
at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Please suggest whether it is because i'm trying to do multi threading or any alternate for this is available. I'm using EclipseLink JPA. This NullPointerException is not within my Code,it is coming in EntityManager which is working fine when i'm not doing MultiThreading. And EntityManager Object is not null, Please read the question properly before giving downvote.

Gateway in the branch of another gateway

In the setup of an e-form. We require a gateway in the branch of another gateway. However i'm not getting this to work properly. Is this possible? How do I achieve this?
What i have is the following:
My first gateway has 2 branches. Of which the first branch is an approval task. After this approval task, the form needs to be sent to a certain emailaddress without waiting on the other branch.
In the second branch. I have another gateway with 8 branches which each contain an approval task. These tasks DO have to wait for each other to be completed before sending the email.
So this is why I would need these 2 gateways.
However when i implement this and test it the recording stops just in front of the second gateway without any error message.
Any ideas how to fix/implement this?
Images:
Gateway 1
Gateway 2 (in Other Approvals Process):
Both have all branches setup synchronous:
When I Playback the recording for "Other Approvals", the process seems to stop before entering the second gateway:
Apparently i seem to get following error now:
Cannot execute a split on transactional branch.
StackTrace:
com.adobe.idp.dsc.DSCRuntimeException: Cannot execute a split on transactional branch.
at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.transientInvoke(WorkflowDSCInvoker.java:324)
at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.invoke(WorkflowDSCInvoker.java:158)
at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor.java:140)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.DocumentPassivationInterceptor.intercept(DocumentPassivationInterceptor.java:53)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(TransactionInterceptor.java:74)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTransactionCMTAdapterBean.java:357)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doRequiresNew(EjbTransactionCMTAdapterBean.java:299)
at sun.reflect.GeneratedMethodAccessor215.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:404)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:960)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
at $Proxy167.doRequiresNew(Unknown Source)
at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvider.java:143)
at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInterceptor.java:72)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStrategyInterceptor.java:55)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateInterceptor.java:37)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterceptor.java:188)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:115)
at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:129)
at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:93)
at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:225)
at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:66)
at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
at com.adobe.idp.jobmanager.execution.workadapter.AbstractExecutableJob.invokeRequest(AbstractExecutableJob.java:127)
at com.adobe.idp.jobmanager.execution.workadapter.PersistentExecutableJob.execute(PersistentExecutableJob.java:60)
at com.adobe.idp.dsc.workmanager.adapter.UnManagedAsynchronousWorkAdapter.run(UnManagedAsynchronousWorkAdapter.java:39)
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(Unknown Source)
I've found the issue!
Apparently my subprocess "Other Approvals" was still configured as a short-lived process. This caused the flow to generate a Fatal error.
By adding an approval task to the process, the process was automatically converted to a long-lived process. Afterwards I removed the approval task. And redeployed the application. This solved the issue and made the flow work.

EJB: Method invocation and interfaces

I'm currently upgrade our business javaee environment. A new feature should be implemented which allows to manage maintenance notifications in the webframework that affect other web applications on the same server. The notifications should be transferred using EJB (either the framework send them to the application or the application asks for them).
I tried to implement it based on interfaces. The interfaces are used in the method signatures and the conctret implementations of those interfaces are only known by the webframework respectively the applications.
But all invocations fail with either a ClassNotFoundException (when the framwork sends the notification to the application) or a ClassCastException (when the application ask for new maintenances).
The question: Is it impossible to implement this using interfaces? Do I always need the concret implementations on both sides? The preceeding EJB lookup does work using interfaces (#Remote annotation), so why do I have those exceptions?
Thanks in advance!
I will give you a short overview over my classes so you have more information about what I'm doing:
Interface: IMaintenanceInfo:
This interface will be used for the EJB method invocations and contains the information about a single maintenance.
Interface: IRemoteMaintenanceEJB:
This interface is the #Remote interfaces for the RemoteMaintenanceEJB. This is used by the applications to ask for new maintenances.
Interface: IApplicationEJB:
This interface is used to receive maintenance notifications from the webframework. It is #Remote.
Class: MaintenanceInfoImpl:
This class implements IMaintenanceInfo
Class: RemoteMaintenanceEJBImpl:
This class implements IRemoteMaintenanceEJB
Class: ApplicationEJBInfo:
This class implements IApplicationEJB
When the RemoteMaintenanceEJBImpl sends a MaintenanceInfoImpl to an ApplicationEJBImpl, the following method will be used:
public interface IApplicationImpl {
public void announceMaintenance(IMaintenanceInfo maintenanceInfo);
}
The invocation
remoteApplication.announceMaintenance(new MaintenanceInfoImpl(date/*, ...*/))
Failes with a ClassNotFoundException on the application side as it tries to find the MaintenanceInfoImpl which is only available on the webframework side.
Caused by: java.lang.ClassNotFoundException: package.webapp.wf.framework.MaintenanceInfoImpl from [Module "deployment.CommonDBFrontend.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.jboss.marshalling.cloner.ClassLoaderClassCloner.clone(ClassLoaderClassCloner.java:49)
at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:157)
at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:134)
at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:186)
at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:134)
at org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:267)
Which again raises this exception (JBoss AS 7.1.2)
java.lang.RuntimeException: JBAS014154: Failed to marshal EJB parameters
When the ApplicationEJBImpl asks the RemoteMaintenanceEJBImpl for new maintenances, the following method will be used:
public interface IRemoteMaintenanceEJB {
pubilc List<IMaintenanceInfo> getMaintenances();
}
The invocation failes with the exception
Caused by: java.lang.ClassCastException: package.webapp.wf.framework.MaintenanceInfoImpl cannot be cast to package.webapp.ejb.IMaintenanceInfo
at package.webapp.ejb.impl.ApplicationEJBImpl.announceMaintenance(ApplicationEJBImpl.java:187)
at package.webapp.ejb.impl.ApplicationEJBImpl.initialize(ApplicationEJBImpl.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_11]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_11]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_11]
at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_11]
...
implement java.io.Serializable for the class MaintenanceInfoImpl
and also make sure you set serialVersionUID for the same.

Resources