Giter Site home page Giter Site logo

airomem's Introduction

airomem

Build Status Codacy Badge

Airomem is Java persistence framework based on Prevayler. The most important features are:

  • speed,
  • simplicity.

This is achieved because there is no Database. There is only persistence.

Motivation

I have a lot of positive experience with Prevayler - quite an old project published by Klaus Wuestefeld. Pure Prevayler lacks however some features and is not perfectly safe for inexperienced teams.

Goal of this project is to provide Prevayler based persistence with extra features such as Java 8 Lambda expressions, Kryo based serialization, rich collections (CQEngine) and sanity checks that make Prevayler easier to implement. (Quite honestly Prevayler is perfectly easy to implement, it just does not always work as people expect).

So airomem = Prevayler | safety | tools | lambdas | kryo | build...

Take a look at Features.

Basic

Lets assume that system is build without need of persistence. All operations are mode on objects in memory. Instead of SQL queries, objects are traversed and filtered using stream API.

Instead of making INSERTS, UPDATES, transactions, there are only changes on objects in java. There is no Session, no EntityManager, no cache ( oh,wait a moment - everything is cache...), no problems with ORMs, no performance penalties, no DB deadlocks.

Such world exist and is fun to work with. And what is more funny persistence in this world also exists.

There are only two things to do:

  • all objects from domain must be serializable (this is typically easy to achieve),
  • all operations that change domain must be enclosed in commands.

How simple is that? (Sample Project)

New! Galakpizza Sample Chat Sample

Performance - this thing is insane

This thing must come. How fast is that? Can be more than 1000 times faster than traditional SQL / ORM approach...

I've tried to measure speed in operations per second using jpab project. Results are here.

In reality one can expect to achive performance of 10 up to 1000 faster compared to DB/ORM approach.

More

Please read more on: Wiki

Release notes

Version 1.2.0

Works with java 11 or later

Version 1.1.1

Changed to use file sync always. It is slower but safer on some environments.

Version 1.1.0

  • Simplified - no longer use Storable interface with getImmutable
  • Use Path in API instead of String name of folder
  • Transient version for tests
  • xml snapshot (import and export)

Migration from 1.0.5

  • No more SimpleController (what a stupid name it was :-) ?) - class is called Persistent
  • Path instead of Strings as folder names

Version 1.0.5

.

airomem's People

Contributors

dependabot[bot] avatar jarekratajski avatar syzer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

airomem's Issues

Disable persistence for integration tests

In a project I'm running integration tests using an embedded server. It would be great to temporarily configure airomem to not persist the data to disk and store it only in memory.

Wildfly 9.0.2 Serialization problem in Airomem Direct

[2015-12-03 09:44:45,688] Artifact sportchef:war: Artifact is deployed successfully
[2015-12-03 09:44:45,689] Artifact sportchef:war: Deploy took 1,981 milliseconds
21:44:52,111 ERROR [org.jboss.as.ejb3.invocation](default task-28) WFLYEJB0034: EJB Invocation failed on component EventsResource for method public javax.ws.rs.core.Response ch.sportchef.business.event.boundary.EventsResource.findAll(): javax.ejb.EJBException: java.lang.RuntimeException: java.lang.ClassCastException: ch.sportchef.business.event.boundary.EventManager cannot be cast to java.io.Serializable
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:187)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:634)
at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:195)
at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)
at ch.sportchef.business.event.boundary.EventsResource$$$view10.findAll(Unknown Source)
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:497)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:296)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:250)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:237)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.lang.ClassCastException: ch.sportchef.business.event.boundary.EventManager cannot be cast to java.io.Serializable
at pl.setblack.badass.Politician.beatAroundTheBush(Politician.java:24)
at pl.setblack.airomem.direct.impl.PrevaylerRegister.createInitialState(PrevaylerRegister.java:53)
at pl.setblack.airomem.direct.impl.PrevaylerRegister.lambda$createController$6(PrevaylerRegister.java:48)
at pl.setblack.airomem.direct.impl.PrevaylerRegister$$Lambda$3/1421936919.get(Unknown Source)
at pl.setblack.airomem.core.SimpleController.lambda$loadOptional$0(SimpleController.java:41)
at pl.setblack.airomem.core.SimpleController$$Lambda$4/1186706060.get(Unknown Source)
at pl.setblack.airomem.core.builders.PersistenceFactory.initOptional(PersistenceFactory.java:68)
at pl.setblack.airomem.core.SimpleController.loadOptional(SimpleController.java:41)
at pl.setblack.airomem.direct.impl.PrevaylerRegister.createController(PrevaylerRegister.java:48)
at pl.setblack.airomem.direct.impl.PrevaylerRegister.getController(PrevaylerRegister.java:40)
at pl.setblack.airomem.direct.impl.ClassContext.performTransaction(ClassContext.java:120)
at pl.setblack.airomem.direct.PersistenceInterceptor.preparePersistence(PersistenceInterceptor.java:34)
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:497)
at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:74)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.invokeNext(WeldInvocationContext.java:83)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.proceed(WeldInvocationContext.java:115)
at org.jboss.weld.bean.InterceptorImpl.intercept(InterceptorImpl.java:106)
at org.jboss.as.weld.ejb.DelegatingInterceptorInvocationContext.proceed(DelegatingInterceptorInvocationContext.java:77)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:68)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)
at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.NonPooledEJBComponentInstanceAssociatingInterceptor.processInvocation(NonPooledEJBComponentInstanceAssociatingInterceptor.java:59)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
... 74 more
Caused by: java.lang.ClassCastException: ch.sportchef.business.event.boundary.EventManager cannot be cast to java.io.Serializable
at pl.setblack.airomem.direct.impl.PrevaylerRegister.lambda$createInitialState$7(PrevaylerRegister.java:55)
at pl.setblack.airomem.direct.impl.PrevaylerRegister$$Lambda$5/63561394.call(Unknown Source)
at pl.setblack.badass.Politician.beatAroundTheBush(Politician.java:22)
... 117 more

[2015-12-03 09:45:23,557] Artifact sportchef:war: Artifact is being deployed, please wait...
21:45:23,597 INFO [org.wildfly.extension.undertow](ServerService Thread Pool -- 81) WFLYUT0022: Unregistered web context: /sportchef
21:45:23,633 INFO [org.jboss.as.jpa](ServerService Thread Pool -- 85) WFLYJPA0011: Stopping Persistence Unit (phase 2 of 2) Service 'sportchef.war#prod'
21:45:23,641 INFO [org.jboss.weld.deployer](MSC service thread 1-3) WFLYWELD0010: Stopping weld service for deployment sportchef.war
21:45:23,641 INFO [org.jboss.as.jpa](ServerService Thread Pool -- 83) WFLYJPA0011: Stopping Persistence Unit (phase 1 of 2) Service 'sportchef.war#prod'
21:45:23,730 INFO [org.jboss.as.server.deployment](MSC service thread 1-4) WFLYSRV0028: Stopped deployment sportchef.war (runtime-name: sportchef.war) in 141ms
21:45:23,743 INFO [org.jboss.as.server](management-handler-thread - 9) WFLYSRV0009: Undeployed "sportchef.war" (runtime-name: "sportchef.war")
21:45:23,825 INFO [org.jboss.as.server.deployment](MSC service thread 1-8) WFLYSRV0027: Starting deployment of "sportchef.war" (runtime-name: "sportchef.war")
21:45:24,268 INFO [org.jboss.as.jpa](MSC service thread 1-3) WFLYJPA0002: Read persistence.xml for prod
21:45:24,310 INFO [org.jboss.as.jpa](ServerService Thread Pool -- 83) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'sportchef.war#prod'
21:45:24,311 INFO [org.hibernate.jpa.internal.util.LogHelper](ServerService Thread Pool -- 83) HHH000204: Processing PersistenceUnitInfo [
name: prod
...]
21:45:24,324 INFO [org.jboss.weld.deployer](MSC service thread 1-6) WFLYWELD0003: Processing weld deployment sportchef.war
21:45:24,329 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor](MSC service thread 1-6) JNDI bindings for session bean named EventsResource in deployment unit deployment "sportchef.war" are as follows:

java:global/sportchef/EventsResource!ch.sportchef.business.event.boundary.EventsResource
java:app/sportchef/EventsResource!ch.sportchef.business.event.boundary.EventsResource
java:module/EventsResource!ch.sportchef.business.event.boundary.EventsResource
java:global/sportchef/EventsResource
java:app/sportchef/EventsResource
java:module/EventsResource

21:45:24,329 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor](MSC service thread 1-6) JNDI bindings for session bean named UserManager in deployment unit deployment "sportchef.war" are as follows:

java:global/sportchef/UserManager!ch.sportchef.business.user.boundary.UserManager
java:app/sportchef/UserManager!ch.sportchef.business.user.boundary.UserManager
java:module/UserManager!ch.sportchef.business.user.boundary.UserManager
java:global/sportchef/UserManager
java:app/sportchef/UserManager
java:module/UserManager

21:45:24,329 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor](MSC service thread 1-6) JNDI bindings for session bean named UsersResource in deployment unit deployment "sportchef.war" are as follows:

java:global/sportchef/UsersResource!ch.sportchef.business.user.boundary.UsersResource
java:app/sportchef/UsersResource!ch.sportchef.business.user.boundary.UsersResource
java:module/UsersResource!ch.sportchef.business.user.boundary.UsersResource
java:global/sportchef/UsersResource
java:app/sportchef/UsersResource
java:module/UsersResource

21:45:24,378 INFO [org.jboss.weld.deployer](MSC service thread 1-7) WFLYWELD0006: Starting Services for CDI deployment: sportchef.war
21:45:24,386 INFO [org.jboss.weld.deployer](MSC service thread 1-4) WFLYWELD0009: Starting weld service for deployment sportchef.war
21:45:24,412 INFO [org.jboss.as.jpa](ServerService Thread Pool -- 83) WFLYJPA0010: Starting Persistence Unit (phase 2 of 2) Service 'sportchef.war#prod'
21:45:24,417 INFO [org.hibernate.dialect.Dialect](ServerService Thread Pool -- 83) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
21:45:24,418 WARN [org.hibernate.dialect.H2Dialect](ServerService Thread Pool -- 83) HHH000431: Unable to determine H2 database version, certain features may not work
21:45:24,438 INFO [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory](ServerService Thread Pool -- 83) HHH000397: Using ASTQueryTranslatorFactory
21:45:24,489 INFO [org.hibernate.dialect.Dialect](ServerService Thread Pool -- 83) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
21:45:24,490 WARN [org.hibernate.dialect.H2Dialect](ServerService Thread Pool -- 83) HHH000431: Unable to determine H2 database version, certain features may not work
21:45:24,887 INFO [javax.enterprise.resource.webcontainer.jsf.config](ServerService Thread Pool -- 85) Initializing Mojarra 2.2.12-jbossorg-2 20150729-1131 for context '/sportchef'
21:45:25,356 INFO [org.jboss.resteasy.spi.ResteasyDeployment](ServerService Thread Pool -- 85) Deploying javax.ws.rs.core.Application: class ch.sportchef.business.JAXRSConfiguration$Proxy$_$$_WeldClientProxy
21:45:25,393 INFO [org.wildfly.extension.undertow](ServerService Thread Pool -- 85) WFLYUT0021: Registered web context: /sportchef
21:45:25,415 INFO [org.jboss.as.server](management-handler-thread - 9) WFLYSRV0010: Deployed "sportchef.war" (runtime-name : "sportchef.war")
[2015-12-03 09:45:25,445] Artifact sportchef:war: Artifact is deployed successfully
[2015-12-03 09:45:25,446] Artifact sportchef:war: Deploy took 1,889 milliseconds
[2015-12-03 09:45:34,791] Artifact sportchef:war: Artifact is being deployed, please wait...
21:45:34,826 INFO [org.wildfly.extension.undertow](ServerService Thread Pool -- 85) WFLYUT0022: Unregistered web context: /sportchef
21:45:34,834 INFO [org.jboss.as.jpa](ServerService Thread Pool -- 85) WFLYJPA0011: Stopping Persistence Unit (phase 2 of 2) Service 'sportchef.war#prod'
21:45:34,842 INFO [org.jboss.weld.deployer](MSC service thread 1-5) WFLYWELD0010: Stopping weld service for deployment sportchef.war
21:45:34,841 INFO [org.jboss.as.jpa](ServerService Thread Pool -- 85) WFLYJPA0011: Stopping Persistence Unit (phase 1 of 2) Service 'sportchef.war#prod'
21:45:34,891 INFO [org.jboss.as.server.deployment](MSC service thread 1-1) WFLYSRV0028: Stopped deployment sportchef.war (runtime-name: sportchef.war) in 68ms
21:45:34,903 INFO [org.jboss.as.server](management-handler-thread - 10) WFLYSRV0009: Undeployed "sportchef.war" (runtime-name: "sportchef.war")
21:45:34,989 INFO [org.jboss.as.server.deployment](MSC service thread 1-5) WFLYSRV0027: Starting deployment of "sportchef.war" (runtime-name: "sportchef.war")
21:45:35,455 INFO [org.jboss.as.jpa](MSC service thread 1-5) WFLYJPA0002: Read persistence.xml for prod
21:45:35,495 INFO [org.jboss.as.jpa](ServerService Thread Pool -- 84) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'sportchef.war#prod'
21:45:35,496 INFO [org.hibernate.jpa.internal.util.LogHelper](ServerService Thread Pool -- 84) HHH000204: Processing PersistenceUnitInfo [
name: prod
...]
21:45:35,504 INFO [org.jboss.weld.deployer](MSC service thread 1-5) WFLYWELD0003: Processing weld deployment sportchef.war
21:45:35,507 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor](MSC service thread 1-5) JNDI bindings for session bean named EventsResource in deployment unit deployment "sportchef.war" are as follows:

java:global/sportchef/EventsResource!ch.sportchef.business.event.boundary.EventsResource
java:app/sportchef/EventsResource!ch.sportchef.business.event.boundary.EventsResource
java:module/EventsResource!ch.sportchef.business.event.boundary.EventsResource
java:global/sportchef/EventsResource
java:app/sportchef/EventsResource
java:module/EventsResource

21:45:35,507 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor](MSC service thread 1-5) JNDI bindings for session bean named UserManager in deployment unit deployment "sportchef.war" are as follows:

java:global/sportchef/UserManager!ch.sportchef.business.user.boundary.UserManager
java:app/sportchef/UserManager!ch.sportchef.business.user.boundary.UserManager
java:module/UserManager!ch.sportchef.business.user.boundary.UserManager
java:global/sportchef/UserManager
java:app/sportchef/UserManager
java:module/UserManager

21:45:35,508 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor](MSC service thread 1-5) JNDI bindings for session bean named UsersResource in deployment unit deployment "sportchef.war" are as follows:

java:global/sportchef/UsersResource!ch.sportchef.business.user.boundary.UsersResource
java:app/sportchef/UsersResource!ch.sportchef.business.user.boundary.UsersResource
java:module/UsersResource!ch.sportchef.business.user.boundary.UsersResource
java:global/sportchef/UsersResource
java:app/sportchef/UsersResource
java:module/UsersResource

21:45:35,558 INFO [org.jboss.weld.deployer](MSC service thread 1-5) WFLYWELD0006: Starting Services for CDI deployment: sportchef.war
21:45:35,566 INFO [org.jboss.weld.deployer](MSC service thread 1-1) WFLYWELD0009: Starting weld service for deployment sportchef.war
21:45:35,576 INFO [org.jboss.as.jpa](ServerService Thread Pool -- 84) WFLYJPA0010: Starting Persistence Unit (phase 2 of 2) Service 'sportchef.war#prod'
21:45:35,582 INFO [org.hibernate.dialect.Dialect](ServerService Thread Pool -- 84) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
21:45:35,582 WARN [org.hibernate.dialect.H2Dialect](ServerService Thread Pool -- 84) HHH000431: Unable to determine H2 database version, certain features may not work
21:45:35,607 INFO [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory](ServerService Thread Pool -- 84) HHH000397: Using ASTQueryTranslatorFactory
21:45:35,641 INFO [org.hibernate.dialect.Dialect](ServerService Thread Pool -- 84) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
21:45:35,641 WARN [org.hibernate.dialect.H2Dialect](ServerService Thread Pool -- 84) HHH000431: Unable to determine H2 database version, certain features may not work
21:45:35,943 INFO [javax.enterprise.resource.webcontainer.jsf.config](ServerService Thread Pool -- 86) Initializing Mojarra 2.2.12-jbossorg-2 20150729-1131 for context '/sportchef'
21:45:36,303 INFO [org.jboss.resteasy.spi.ResteasyDeployment](ServerService Thread Pool -- 86) Deploying javax.ws.rs.core.Application: class ch.sportchef.business.JAXRSConfiguration$Proxy$_$$_WeldClientProxy
21:45:36,334 INFO [org.wildfly.extension.undertow](ServerService Thread Pool -- 86) WFLYUT0021: Registered web context: /sportchef
21:45:36,366 INFO [org.jboss.as.server](management-handler-thread - 10) WFLYSRV0010: Deployed "sportchef.war" (runtime-name : "sportchef.war")
[2015-12-03 09:45:36,484] Artifact sportchef:war: Artifact is deployed successfully
[2015-12-03 09:45:36,484] Artifact sportchef:war: Deploy took 1,693 milliseconds
21:45:46,813 ERROR [org.jboss.as.ejb3.invocation](default task-57) WFLYEJB0034: EJB Invocation failed on component EventsResource for method public javax.ws.rs.core.Response ch.sportchef.business.event.boundary.EventsResource.save(ch.sportchef.business.event.entity.Event,javax.ws.rs.core.UriInfo): javax.ejb.EJBException: WFLYEJB0442: Unexpected Error
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:184)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:634)
at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:195)
at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)
at ch.sportchef.business.event.boundary.EventsResource$$$view16.save(Unknown Source)
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:497)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:296)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:250)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:237)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Error: Unable to deserialize transaction
at org.prevayler.implementation.Capsule.deserialize(Capsule.java:47)
at org.prevayler.implementation.Capsule.executeOn(Capsule.java:60)
at org.prevayler.implementation.PrevalentSystemGuard.receive(PrevalentSystemGuard.java:73)
at org.prevayler.implementation.publishing.AbstractPublisher.notifySubscribers(AbstractPublisher.java:42)
at org.prevayler.implementation.publishing.CentralPublisher.notifySubscribers(CentralPublisher.java:82)
at org.prevayler.implementation.publishing.CentralPublisher.publishWithoutWorryingAboutNewSubscriptions(CentralPublisher.java:62)
at org.prevayler.implementation.publishing.CentralPublisher.publish(CentralPublisher.java:46)
at org.prevayler.implementation.PrevaylerImpl.publish(PrevaylerImpl.java:68)
at org.prevayler.implementation.PrevaylerImpl.execute(PrevaylerImpl.java:79)
at pl.setblack.airomem.core.builders.PersistenceControllerImpl.lambda$executeAndQuery$8(PersistenceControllerImpl.java:97)
at pl.setblack.airomem.core.builders.PersistenceControllerImpl$$Lambda$23/1860680660.call(Unknown Source)
at pl.setblack.badass.Politician.beatAroundTheBush(Politician.java:22)
at pl.setblack.airomem.core.builders.PersistenceControllerImpl.executeAndQuery(PersistenceControllerImpl.java:97)
at pl.setblack.airomem.core.SimpleController.executeAndQuery(SimpleController.java:71)
at pl.setblack.airomem.direct.impl.ClassContext.performTransaction(ClassContext.java:79)
at pl.setblack.airomem.direct.impl.ClassContext.performTransaction(ClassContext.java:116)
at pl.setblack.airomem.direct.PersistenceInterceptor.preparePersistence(PersistenceInterceptor.java:34)
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:497)
at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:74)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.invokeNext(WeldInvocationContext.java:83)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.proceed(WeldInvocationContext.java:115)
at org.jboss.weld.bean.InterceptorImpl.intercept(InterceptorImpl.java:106)
at org.jboss.as.weld.ejb.DelegatingInterceptorInvocationContext.proceed(DelegatingInterceptorInvocationContext.java:77)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.interceptorChainCompleted(WeldInvocationContext.java:98)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.proceed(WeldInvocationContext.java:117)
at org.hibernate.validator.internal.cdi.interceptor.ValidationInterceptor.validateMethodInvocation(ValidationInterceptor.java:87)
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:497)
at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:74)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.invokeNext(WeldInvocationContext.java:83)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.proceed(WeldInvocationContext.java:115)
at org.jboss.weld.bean.InterceptorImpl.intercept(InterceptorImpl.java:106)
at org.jboss.as.weld.ejb.DelegatingInterceptorInvocationContext.proceed(DelegatingInterceptorInvocationContext.java:77)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:68)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)
at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.NonPooledEJBComponentInstanceAssociatingInterceptor.processInvocation(NonPooledEJBComponentInstanceAssociatingInterceptor.java:59)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
... 74 more
Caused by: com.esotericsoftware.kryo.KryoException: java.lang.RuntimeException: Could not serialize lambda
Serialization trace:
cmd (pl.setblack.airomem.core.builders.InternalTransaction)
at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528)
at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:786)
at pl.setblack.airomem.core.kryo.KryoSerializer.readObject(KryoSerializer.java:53)
at org.prevayler.implementation.Capsule.deserialize(Capsule.java:45)
... 134 more
Caused by: java.lang.RuntimeException: Could not serialize lambda
at com.esotericsoftware.kryo.serializers.ClosureSerializer.read(ClosureSerializer.java:52)
at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:704)
at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
... 138 more
Caused by: com.esotericsoftware.kryo.KryoException: Unable to find class: com.sun.proxy.$Proxy74
Serialization trace:
arguments (pl.setblack.airomem.direct.impl.ClassContext$WraperTransaction)
capturedArgs (java.lang.invoke.SerializedLambda)
at com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:138)
at com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:115)
at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:666)
at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.read(DefaultArraySerializers.java:375)
at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.read(DefaultArraySerializers.java:289)
at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:704)
at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528)
at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:704)
at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.read(DefaultArraySerializers.java:378)
at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.read(DefaultArraySerializers.java:289)
at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:704)
at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528)
at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:682)
at com.esotericsoftware.kryo.serializers.ClosureSerializer.read(ClosureSerializer.java:49)
... 140 more
Caused by: java.lang.ClassNotFoundException: com.sun.proxy.$Proxy74 from [Module "deployment.sportchef.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:136)
... 155 more

21:45:49,110 ERROR [org.jboss.as.ejb3.invocation](default task-81) WFLYEJB0034: EJB Invocation failed on component EventsResource for method public javax.ws.rs.core.Response ch.sportchef.business.event.boundary.EventsResource.findAll(): javax.ejb.EJBException: WFLYEJB0442: Unexpected Error
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:184)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:634)
at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:195)
at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)
at ch.sportchef.business.event.boundary.EventsResource$$$view16.findAll(Unknown Source)
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:497)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:296)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:250)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:237)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Error: Prevayler is no longer allowing access to the prevalent system due to an Error thrown from an earlier transaction.
at org.prevayler.implementation.PrevalentSystemGuard.prevalentSystem(PrevalentSystemGuard.java:33)
at org.prevayler.implementation.PrevaylerImpl.prevalentSystem(PrevaylerImpl.java:56)
at pl.setblack.airomem.core.builders.PersistenceControllerImpl.getObject(PersistenceControllerImpl.java:124)
at pl.setblack.airomem.core.builders.PersistenceControllerImpl.getImmutable(PersistenceControllerImpl.java:128)
at pl.setblack.airomem.core.builders.PersistenceControllerImpl.query(PersistenceControllerImpl.java:85)
at pl.setblack.airomem.core.SimpleController.query(SimpleController.java:54)
at pl.setblack.airomem.direct.impl.ClassContext.performTransaction(ClassContext.java:122)
at pl.setblack.airomem.direct.PersistenceInterceptor.preparePersistence(PersistenceInterceptor.java:34)
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:497)
at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:74)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.invokeNext(WeldInvocationContext.java:83)
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.proceed(WeldInvocationContext.java:115)
at org.jboss.weld.bean.InterceptorImpl.intercept(InterceptorImpl.java:106)
at org.jboss.as.weld.ejb.DelegatingInterceptorInvocationContext.proceed(DelegatingInterceptorInvocationContext.java:77)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:68)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)
at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.NonPooledEJBComponentInstanceAssociatingInterceptor.processInvocation(NonPooledEJBComponentInstanceAssociatingInterceptor.java:59)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
... 74 more

Create a changelog

It would be great to have a changelog to look for bugfixes and new features when a new version was released. It will be much easier than "parsing" all commits since the last release… ;-)

Clustering support

This is all nice things, but I think adding clustering will make this totally production ready NODB solution.

I think the easiest way to achieve that is to use JGroups project. Using it, makes easy to implement a distributed log for prevaler/airomem.

JChannel channel = new JChannel(new UNICAST3());
channel.setReceiver(Message msg -> 
  System.out.println("received msg from " + msg.getSrc() + ": " + msg.getObject()));
channel.connect("AiromemCluster");
channel.send(new ObjectMessageSerializable(null, "hello world"));
channel.close();

Projects using latest airomem v1.0.3 does not compile

The kryo dependency could not be found:

$> ./gradlew compileJava
:compileJava

FAILURE: Build failed with an exception.

* What went wrong:

Could not resolve all dependencies for configuration ':compile'.
> Could not find com.esotericsoftware.kryo:kryo:2.24.1-SNAPSHOT.
  Searched in the following locations:
      https://repo1.maven.org/maven2/com/esotericsoftware/kryo/kryo/2.24.1-SNAPSHOT/maven-metadata.xml
      https://repo1.maven.org/maven2/com/esotericsoftware/kryo/kryo/2.24.1-SNAPSHOT/kryo-2.24.1-SNAPSHOT.pom
      https://repo1.maven.org/maven2/com/esotericsoftware/kryo/kryo/2.24.1-SNAPSHOT/kryo-2.24.1-SNAPSHOT.jar
  Required by:
      xx.xxx.xxxx:xxxxx:1.0-SNAPSHOT > pl.setblack:airomem-core:1.0.3

The file kryo-2.24.1-SNAPSHOT.jar is not available at Maven Central (any more). Simply take a look at Maven Central: https://repo1.maven.org/maven2/com/esotericsoftware/kryo/kryo/

This problem was fixed by PR #4 a few months ago, but there is no new release of airomem containing this patch. Releasing a new version of airomem should fix this problem.

IllegalArgumentException in AiroMem after updating from v1.0.2 to v1.0.3

Caused by: java.lang.IllegalArgumentException
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
    at pl.setblack.airomem.core.builders.PrevaylerBuilder.createPrevayler(PrevaylerBuilder.java:122)
    at pl.setblack.airomem.core.builders.PrevaylerBuilder.build(PrevaylerBuilder.java:75)
    at pl.setblack.airomem.core.builders.PersistenceFactory.load(PersistenceFactory.java:35)
    at pl.setblack.airomem.core.builders.PersistenceFactory.initOptional(PersistenceFactory.java:66)
    at pl.setblack.airomem.core.SimpleController.loadOptional(SimpleController.java:41)
    at ch.sportchef.business.PersistenceManager.createSimpleController(PersistenceManager.java:45)

Here is my whole console.log file including the stack trace:
https://gist.github.com/McPringle/fc3a5e74412d4e540600

Test failures in `ContainerTest` of project `airomem-direct`

$ mvn clean package
[…]
Failed tests:   shouldNotStoreHTTPGetMethodChanges(pl.setblack.airomem.direct.ContainerTest): expected:<0> but was:<128>
  shouldNotStoreWriteMethodChanges(pl.setblack.airomem.direct.ContainerTest): expected:<14> but was:<142>
[…]

Unable to build the project - error on tests

Steps to reproduce:

  1. I've cloned the project (HEAD on 0b2b35c)
  2. cd to airomem-core
  3. mvn clean install

Expected: project is build

Got: pl.setblack.airomem.core.PersistenceFactoryTest FAILURE

Stacktrace below:
testExecuteStored(pl.setblack.airomem.core.PersistenceFactoryTest) Time elapsed: 0.015 sec <<< FAILURE!
java.lang.AssertionError: Context was initialized before
at pl.setblack.airomem.core.WriteChecker.setContext(WriteChecker.java:15)
at pl.setblack.airomem.core.InternalTransaction.executeAndQuery(InternalTransaction.java:28)
at pl.setblack.airomem.core.InternalTransaction.executeAndQuery(InternalTransaction.java:15)
at org.prevayler.implementation.TransactionWithQueryCapsule.justExecute(TransactionWithQueryCapsule.java:24)
at org.prevayler.implementation.Capsule.executeOn(Capsule.java:64)
at org.prevayler.implementation.PrevalentSystemGuard.receive(PrevalentSystemGuard.java:73)
at org.prevayler.implementation.publishing.AbstractPublisher.notifySubscribers(AbstractPublisher.java:42)
at org.prevayler.implementation.publishing.CentralPublisher.notifySubscribers(CentralPublisher.java:82)
at org.prevayler.implementation.publishing.CentralPublisher.publishWithoutWorryingAboutNewSubscriptions(CentralPublisher.java:62)
at org.prevayler.implementation.publishing.CentralPublisher.publish(CentralPublisher.java:46)
at org.prevayler.implementation.PrevaylerImpl.publish(PrevaylerImpl.java:68)
at org.prevayler.implementation.PrevaylerImpl.execute(PrevaylerImpl.java:79)
at pl.setblack.airomem.core.PersistenceController.lambda$executeAndQuery$3(PersistenceController.java:90)
at pl.setblack.airomem.core.PersistenceController$$Lambda$16/210652080.call(Unknown Source)
at pl.setblack.badass.Politician.beatAroundTheBush(Politician.java:22)
at pl.setblack.airomem.core.PersistenceController.executeAndQuery(PersistenceController.java:90)
at pl.setblack.airomem.core.PersistenceController.executeAndQuery(PersistenceController.java:102)
at pl.setblack.airomem.core.PersistenceController.execute(PersistenceController.java:106)
at pl.setblack.airomem.core.PersistenceFactoryTest.testExecuteStored(PersistenceFactoryTest.java:116)
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:483)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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:483)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

testExecuteWithDate(pl.setblack.airomem.core.PersistenceFactoryTest) Time elapsed: 0.007 sec <<< FAILURE!
java.lang.AssertionError: Context was initialized before
at pl.setblack.airomem.core.WriteChecker.setContext(WriteChecker.java:15)
at pl.setblack.airomem.core.InternalTransaction.executeAndQuery(InternalTransaction.java:28)
at pl.setblack.airomem.core.InternalTransaction.executeAndQuery(InternalTransaction.java:15)
at org.prevayler.implementation.TransactionWithQueryCapsule.justExecute(TransactionWithQueryCapsule.java:24)
at org.prevayler.implementation.Capsule.executeOn(Capsule.java:64)
at org.prevayler.implementation.PrevalentSystemGuard.receive(PrevalentSystemGuard.java:73)
at org.prevayler.implementation.publishing.AbstractPublisher.notifySubscribers(AbstractPublisher.java:42)
at org.prevayler.implementation.publishing.CentralPublisher.notifySubscribers(CentralPublisher.java:82)
at org.prevayler.implementation.publishing.CentralPublisher.publishWithoutWorryingAboutNewSubscriptions(CentralPublisher.java:62)
at org.prevayler.implementation.publishing.CentralPublisher.publish(CentralPublisher.java:46)
at org.prevayler.implementation.PrevaylerImpl.publish(PrevaylerImpl.java:68)
at org.prevayler.implementation.PrevaylerImpl.execute(PrevaylerImpl.java:79)
at pl.setblack.airomem.core.PersistenceController.lambda$executeAndQuery$3(PersistenceController.java:90)
at pl.setblack.airomem.core.PersistenceController$$Lambda$16/210652080.call(Unknown Source)
at pl.setblack.badass.Politician.beatAroundTheBush(Politician.java:22)
at pl.setblack.airomem.core.PersistenceController.executeAndQuery(PersistenceController.java:90)
at pl.setblack.airomem.core.PersistenceController.execute(PersistenceController.java:110)
at pl.setblack.airomem.core.PersistenceFactoryTest.testExecuteWithDate(PersistenceFactoryTest.java:130)
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:483)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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:483)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.