gpc / jms Goto Github PK
View Code? Open in Web Editor NEWJMS integration for Grails.
Home Page: http://grails.org/plugin/jms
JMS integration for Grails.
Home Page: http://grails.org/plugin/jms
Pull-request to upgrade to Grails 4
Define a listener bean using parent bean as :
eventProcessorListenerContainer {
meta {
parentBean = 'standardJmsListenerContainer'
}
concurrentConsumers = 1
autoStartup = false
maxMessagesPerTask = -1
idleTaskExecutionLimit = 20
}
But when the application server starts, the eventProcessorListenerContainer is already running (isActive=true, and isRunning=true but autoStartup=false)
I believe this is because the plugin code calls the start() method on all the listener containers.
Specifically, this piece of code in https://github.com/gpc/jms/blob/v2.0.0.RC2/src/main/groovy/grails/plugin/jms/JmsGrailsPlugin.groovy
Method doWithApplicationContext():
void doWithApplicationContext() {
listenerConfigs.each { serviceClassName, serviceClassListenerConfigs ->
serviceClassListenerConfigs.each {
startListenerContainer(it, applicationContext)
}
}
The code above starts all the containers irrespective of the autoStartup property.
The right thing would be to check for autoStartup property before starting the container.
Hi!,
Is JMS plugin compatible with grails 3.x?
Regards,
Shiraz
Related to #12.
We cannot upgrade to Grails 4.0.1 because this plugin is throwing an exception.
Right now the dependencies
section in our build.gradle has the following:
compile 'org.grails.plugins:jms:2.0.0.RC2'
compile 'org.springframework:spring-jms:5.1.5.RELEASE'
compile 'javax.jms:javax.jms-api:2.0.1'
runtime 'org.apache.activemq:activemq-spring:5.15.8'
And we get this error when trying to run the application:
A component required a bean named 'jmsConnectionFactory' that could not be found.
The following candidates were found but could not be injected:
- Bean method 'jmsConnectionFactory' in 'ActiveMQXAConnectionFactoryConfiguration' not loaded because @ConditionalOnBean (types: org.springframework.boot.jms.XAConnectionFactoryWrapper; SearchStrategy: all) did not find any beans of type org.springframework.boot.jms.XAConnectionFactoryWrapper
Action:
Consider revisiting the entries above or defining a bean named 'jmsConnectionFactory' in your configuration.
I created a repo that demonstrates this. Use the jms
branch.
https://github.com/tylervz/grails4jms/tree/jms
During startup application fails with error:
14/11 20:33:48.327 WARN org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplicationPostProcessor': BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Unsatisfied dependency expressed through method 'setConfigurers' parameter 0; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsLogoutUserJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsLogoutUserJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsUpdateUserJmsListenerAdapter' defined in null: Could not resolve parent bean definition 'standardJmsListenerAdapter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsAddUserJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xxxxJmsReceiveJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsUpdateUserStatusNewJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsUpdateUsersJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsUpdateUsersJmsListenerAdapter' defined in null: Could not resolve parent bean definition 'standardJmsListenerAdapter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsUpdateHotJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsUpdateHotJmsListenerAdapter' defined in null: Could not resolve parent bean definition 'standardJmsListenerAdapter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xuserJmsUpdateAnotherSiteJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xxxxxJmsUpdateAnotherSiteJmsListenerAdapter' defined in null: Could not resolve parent bean definition 'standardJmsListenerAdapter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xxxxxJmsReceiveJmsListenerAdapter' defined in null: Could not resolve parent bean definition 'standardJmsListenerAdapter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xxxxxJmsAddUserJmsListenerAdapter' defined in null: Could not resolve parent bean definition 'standardJmsListenerAdapter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xxxxxJmsLogoutUserJmsListenerAdapter' defined in null: Could not resolve parent bean definition 'standardJmsListenerAdapter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xxxxxJmsUpdateUserJmsListenerContainer' defined in null: Could not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
Related cause: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xxxxxJmsUpdateUserStatusNewJmsListenerAdapter' defined in null: Could not resolve parent bean definition 'standardJmsListenerAdapter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined
14/11 20:33:48.391 ERROR org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter -
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method setConfigurers in org.springframework.transaction.annotation.AbstractTransactionManagementConfiguration required a bean named 'standardJmsListenerContainer' that could not be found.
Action:
Consider defining a bean named 'standardJmsListenerContainer' in your configuration.
FAILURE: Build failed with an exception.
service code
class XxxxxJmsService {
static transactional = false
def grailsApplication
def jmsService
def grailsLinkGenerator
static exposes = ["jms"]
resource.groovy:
jmsConnectionFactory(ActiveMQConnectionFactory) { //embed jms server
brokerURL = grailsApplication.config.jms.broker.url
}
The pom file associated with the artifact exposes a runtime dependency on org.grails.grails-dependencies. I think grails-dependencies should be treated as a BOM and not exposed as an explicit dependency for the jms plugin.
See https://repo1.maven.org/maven2/io/github/gpc/jms/4.0.0/jms-4.0.0.pom
Relates to grails/grails-core#11753
Steps to reproduce:
Define a listener bean:
eventListenerContainer {
concurrentConsumers = 10
autoStartup = false
connectionFactoryBean = "jmsConnectionFactory"
messageSelector = null
cacheLevel = 0
}
When the application server starts, the eventListenerContainer is already running (isActive=true, and isRunning=true but autoStartup=false)
This seems to be because the plugin code calls the start() method on all the listener containers during application Context start irrespective of whether or not the autoStartup
field is set to true.
It looks like the code in below file
https://github.com/gpc/jms/blob/master/src/main/groovy/grails/plugin/jms/JmsGrailsPlugin.groovy
Method
doWithApplicationContext():
void doWithApplicationContext() {
listenerConfigs.each { serviceClassName, serviceClassListenerConfigs ->
serviceClassListenerConfigs.each {
startListenerContainer(it, applicationContext)
}
}
The code above starts all the containers irrespective of the autoStartup property.
I am trying to use 2.0.0.RC2 with latest Grails (3.3.9) and jmsService.browse() methods does not work for me.
The problem seems to be in JmsService#doBrowseSelected() at line "for (Message m in browser.enumeration) {".
When replaced witthout Groovy-style like "for (Message m in browser.getEnumeration()) {" it is ok.
Any clue, why ?
I am using grails 2.3.11, jms 1.3. Is this the expected behaviour?
This is probably because, with the release of Grails 3.2, most of the deprecated methods/classes have been removed. (grails/grails-core#10124)
One of the removed classes is org.codehaus.groovy.grails.commons.GrailsClassUtils which now resides in grails.util.GrailsClassUtils (since 2014!!). The JMS plugin, however, is still looking in old location.
Due to issue #27 I have add to application.yml
jms:
containers:
standard:
connectionFactoryBean: jmsConnectionFactory
adapters:
standard:
messageConverterBean: standardJmsMessageConverter
persistenceInterceptorBean: persistenceInterceptor
Application starts, but during sending message application get error
error:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsTemplate' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:704)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1175)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1054)
at org.springframework.beans.factory.BeanFactory$getBean$3.call(Unknown Source)
at grails.plugin.jms.JmsService.normalizeServiceCtx(JmsService.groovy:381)
at sun.reflect.GeneratedMethodAccessor1971.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174)
at grails.plugin.jms.JmsService.send(JmsService.groovy:147)
at grails.plugin.jms.JmsService.send(JmsService.groovy)
at grails.plugin.jms.JmsService$send.call(Unknown Source)
Grails 3.1.14, org.grails.plugins:jms:2.0.0.RC1
When attempting to run a Grails 3.2.10 app with the JMS plugin version 2.0.0M1, a NoClassDefFoundException is thrown on org.codehaus.groovy.grails.commons.GrailsClassUtils
.
It appears that in Grails 3.2.10 or earlier that GrailsClassUtils
class has been moved from org.codehaus.groovy.grails.commons to grails.util. Additionally it looks like the GrailsClassUtils class was refactored and methods such as GrailsClassUtils.getPropertyName( Class<?> clazz )
have been moved to other classes (in that method's case grails.util.GrailsNameUtils.groovy
). The GrailsClassUtils
class and the getPropertyName( Class<clazz> )
method are used in version 2.0.0M1 of the JMS plugin in the grails.plugins.jms.listener.ServiceInspector.groovy
class.
I was able to work around this issue by creating a class in the <grails-project>/src/ org/codehaus/groovy/grails/commons
directory called GrailsClassUtils
that extends the grails.utils.GrailsClassUtils
and implements a getPropertyName( Class<?> clazz )
method that calls the grails.utils.GetNameUtils.getPropertyNames( Class<?> clazz )
method. This workaround allowed me to run the project and send and receive messages from a message broker topic.
Hello,
Thank you so much for creating such a wonderful plug-in, I am planning to use this in my project but have a minor issue that I need your help with.
I require a durable subscriber on a topic, for some reason on Apache ActiveMQ the topic subscribers are not defined as "durable", this causes messages to be lost if the subscriber is down.
Please let me know how to define durable subscription using this plugin
Thanks,
Makarand
Thsi relates to version 2.0.0.RC2
When configuring a custom message converter, the class specification only works in a Groovy config file, not yaml.
Example that works (Groovy):
jms {
converters {
events {
clazz = events.support.jms.EventsJmsMessageConverter
}
}
adapters {
events {
meta {
parentBean = "standardJmsListenerAdapter"
}
messageConverterBean = "eventsJmsMessageConverter"
}
}
}
This doesn't work:
jms:
converters:
events:
clazz: events.support.jms.EventsJmsMessageConverter
adapters:
events:
meta:
parentBean: standardJmsListenerAdapter
messageConverterBean: eventsJmsMessageConverter
And the documentation states that the message converter clazz has to be under a "meta" which is incorrect. It has to be placed as a child to the custom name.
I've created a new Grails 4 app
grails create-app forms_grails4
I'm now trying to install the JMS plugin, so I edit the build.gradle
file, as per JMS plugin page and add dependency line as follows:
dependencies {
...
compile "org.grails.plugins:jms:3.0.0"
}
Running ./gradlew build
I get error while trying to resolve JMS plugin:
$ ./gradlew build
Downloading https://services.gradle.org/distributions/gradle-5.6.4-bin.zip
.........................................................................................
Welcome to Gradle 5.6.4!
Here are the highlights of this release:
- Incremental Groovy compilation
- Groovy compile avoidance
- Test fixtures for Java projects
- Manage plugin versions via settings script
For more details see https://docs.gradle.org/5.6.4/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'forms_grails4'.
> Could not resolve all files for configuration ':runtime'.
> Could not find org.grails.plugins:jms:3.0.0.
Searched in the following locations:
- https://repo.grails.org/grails/core/org/grails/plugins/jms/3.0.0/jms-3.0.0.pom
- https://repo.grails.org/grails/core/org/grails/plugins/jms/3.0.0/jms-3.0.0.jar
Required by:
project :
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 36s
Im trying access documentation for several days and getting a 404.
When exposing a method of a Grails Service as a message listener using the Queue annotation with a name parameter derived from configuration key two listeners are created for the same method:
Is there any way to suppress the default listener from being created?
Example code similar to my code, per the docs.
import grails.plugin.jms.*class PersonService {
static exposes = ["jms"]
@Queue(name = '$queue.key.in.config')
def someWorkToDo(msg) {
}
}
Here's my configuration:
Grails 3.2.10
Grails JMS Plugin 2.0.0RC2
ActiveMQ-Spring 5.14.1
Apache ActiveMQ 5.9.1
Hi, I just updated to 2.0.0.RC1 and I've got this captioned error. Grails version: 3.0.10. It was working before the update. Should I include any extra configuration in order to make this bean created by the plugin visible?
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerAdapter' is defined at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687) ~[spring-beans-4.1.8.RELEASE.jar:4.1.8.RELEASE]
Any ideas?
Using Grails 3.0.1, Java 8, JMS plugin 2.0.0.M1
Our service has:
static exposes = ['jms']
static container = "other"
void onMessage(message) {
// ...
}
The standardJmsListenerContainer bean is not present when running as a jar
java -jar -Dgrails.env=development build/libs/appName-1.0.jar
There is no error when running with run
or bootRun
or running the war, but when running the jar I'm getting a NoSuchBeanDefinitionException.
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'otherJmsListenerContainer' defined in null: Could
not resolve parent bean definition 'standardJmsListenerContainer'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
named 'standardJmsListenerContainer' is defined
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:1238)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:1182)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1168)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:428)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:404)
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:186)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1105)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:969)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1288)
... 54 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'standardJmsListenerContainer' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1168)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:946)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:1223)
... 63 more
Here is the jms config for our container:
jms:
containers:
other:
meta:
parentBean: 'standardJmsListenerContainer'
sessionTransacted: true
When using the example config in chapter 2:
spring:
activemq:
brokerUrl: vm://localhost
pooled: true
my application fails on startup with "NoSuchBeanDefinitionException: No bean named 'jmsConnectionFactory' is defined"
This is because the bean is called pooledJmsConnectionFactory
, not jmsConnectionFactory
when pooled
is true
. Looks like this is due to bean definitions in ActiveMQConnectionFactoryConfiguration
:
@Bean
@ConditionalOnProperty(prefix = "spring.activemq", name = "pooled", havingValue = "false", matchIfMissing = true)
public ActiveMQConnectionFactory jmsConnectionFactory(ActiveMQProperties properties) {
...
@Bean(destroyMethod = "stop")
@ConditionalOnProperty(prefix = "spring.activemq", name = "pooled", havingValue = "true", matchIfMissing = false)
public PooledConnectionFactory pooledJmsConnectionFactory(
One option is of course to set pooled
to false
.
If setting pooled
to true
, I can change the expected name by adding the following to application.yml
:
jms:
templates:
standard:
connectionFactoryBean: pooledJmsConnectionFactory
Application is then able to start.
But if I add a service which listens to a topic:
class FooService {
static exposes = ["jms"]
@Subscriber(topic = "My.topic")
def bar(msg) {
println msg
}
}
I get a NoSuchBeanDefinitionException again because this service obviously also expects a bean named jmsConnectionFactory
.
Maybe I can fix this by defining container and adapter as pr chapter 5. But another work-around I found is to add a bean alias to resources.groovy
:
beans = {
springConfig.addAlias 'jmsConnectionFactory', 'pooledJmsConnectionFactory'
}
I'm then able to receive messages from topic.
Is there a better way? Should the documentation include some more information on this?
Seems like grails 3.3.0 does not have org/codehaus/groovy/grails/commons/GrailsClassUtils
But jms plugin is using this in the ServiceInspector
BTW I am using 2.0.0 M1 jms plugin
Building 85% > :bootRun
java.lang.NoClassDefFoundError: org/codehaus/groovy/grails/commons/GrailsClassUtils
at grails.plugin.jms.listener.ServiceInspector.exposesJms(ServiceInspector.groovy:69)
at grails.plugin.jms.listener.ServiceInspector$exposesJms$0.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at grails.plugin.jms.listener.ServiceInspector.getListenerConfigs(ServiceInspector.groovy:35)
at grails.plugin.jms.listener.ServiceInspector$getListenerConfigs.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:141)
at grails.plugin.jms.JmsGrailsPlugin.getListenerConfigs(JmsGrailsPlugin.groovy:65)
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.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:384)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174)
at grails.plugin.jms.JmsGrailsPlugin$_doWithSpring_closure1$_closure3.doCall(JmsGrailsPlugin.groovy:52)
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.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2030)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1890)
at org.codehaus.groovy.runtime.dgm$159.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callSafe(AbstractCallSite.java:87)
at grails.plugin.jms.JmsGrailsPlugin$_doWithSpring_closure1.doCall(JmsGrailsPlugin.groovy:50)
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.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:408)
at grails.spring.BeanBuilder.invokeBeanDefiningClosure(BeanBuilder.java:759)
at grails.spring.BeanBuilder.beans(BeanBuilder.java:588)
at grails.spring.BeanBuilder.invokeMethod(BeanBuilder.java:531)
at org.grails.plugins.DefaultGrailsPlugin.doWithRuntimeConfiguration(DefaultGrailsPlugin.java:559)
at org.grails.plugins.AbstractGrailsPluginManager.doRuntimeConfiguration(AbstractGrailsPluginManager.java:167)
at grails.boot.config.GrailsApplicationPostProcessor.postProcessBeanDefinitionRegistry(GrailsApplicationPostProcessor.groovy:171)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:372)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
at grails.boot.GrailsApp.run(GrailsApp.groovy:83)
at grails.boot.GrailsApp.run(GrailsApp.groovy:388)
at grails.boot.GrailsApp.run(GrailsApp.groovy:375)
at grails.boot.GrailsApp$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
at web.Application.main(Application.groovy:8)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.grails.commons.GrailsClassUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 78 common frames omitted
2017-09-06 11:51:24.705 ERROR --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Destroy method on bean with name 'grailsApplicationPostProcessor' threw an exception
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1e34c607: startup date [Wed Sep 06 11:51:20 EDT 2017]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:404)
at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1033)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1009)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:961)
at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:819)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
at grails.boot.GrailsApp.run(GrailsApp.groovy:83)
at grails.boot.GrailsApp.run(GrailsApp.groovy:388)
at grails.boot.GrailsApp.run(GrailsApp.groovy:375)
at grails.boot.GrailsApp$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
at web.Application.main(Application.groovy:8)
2017-09-06 11:51:24.710 ERROR --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Destroy method on bean with name 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory' threw an exception
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1e34c607: startup date [Wed Sep 06 11:51:20 EDT 2017]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:404)
at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1033)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1009)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:961)
at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:819)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
at grails.boot.GrailsApp.run(GrailsApp.groovy:83)
at grails.boot.GrailsApp.run(GrailsApp.groovy:388)
at grails.boot.GrailsApp.run(GrailsApp.groovy:375)
at grails.boot.GrailsApp$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
at web.Application.main(Application.groovy:8)
Building 85% > :bootRun:bootRun FAILED
FAILURE: Build failed with an exception.
Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
BUILD FAILED
Is it bug? Or is it not included in documentation that this dependencie is required by activeMq?
Before adding
runtime 'org.apache.activemq:activemq-kahadb-store:5.11.1'
Application would fail to launch:
ERROR org.apache.activemq.broker.BrokerService - Failed to start Apache ActiveMQ ([localhost, null], {})
java.io.IOException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:39) ~[activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.createPersistenceAdapter(BrokerService.java:2373) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.getPersistenceAdapter(BrokerService.java:1188) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:645) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:640) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.start(BrokerService.java:605) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:126) [activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:55) [activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:317) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:332) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:305) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:245) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:276) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory$1.makeObject(PooledConnectionFactory.java:108) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory$1.makeObject(PooledConnectionFactory.java:88) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.commons.pool.impl.GenericKeyedObjectPool.addObject(GenericKeyedObjectPool.java:1748) [commons-pool-1.6.jar:1.6]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:222) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:205) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:413) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.establishSharedConnection(AbstractJmsListeningContainer.java:381) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer.establishSharedConnection(DefaultMessageListenerContainer.java:788) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.doStart(AbstractJmsListeningContainer.java:285) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.start(AbstractJmsListeningContainer.java:270) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer.start(DefaultMessageListenerContainer.java:589) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.context.Lifecycle$start.call(Unknown Source) [spring-context-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) [groovy-2.4.5.jar:2.4.5]
at grails.plugin.jms.JmsGrailsPlugin.startListenerContainer(JmsGrailsPlugin.groovy:96) [jms-2.0.0.M1.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426) [springloaded-1.2.4.RELEASE.jar:1.2.4.RELEASE]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:384) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174) [groovy-2.4.5.jar:2.4.5]
at grails.plugin.jms.JmsGrailsPlugin$_doWithApplicationContext_closure2$_closure5.doCall(JmsGrailsPlugin.groovy:77) [jms-2.0.0.M1.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426) [springloaded-1.2.4.RELEASE.jar:1.2.4.RELEASE]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.Closure.call(Closure.java:426) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.Closure.call(Closure.java:442) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2030) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2015) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2056) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.dgm$162.invoke(Unknown Source) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-2.4.5.jar:2.4.5]
at grails.plugin.jms.JmsGrailsPlugin$_doWithApplicationContext_closure2.doCall(JmsGrailsPlugin.groovy:76) [jms-2.0.0.M1.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426) [springloaded-1.2.4.RELEASE.jar:1.2.4.RELEASE]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) [groovy-2.4.5.jar:2.4.5]
at groovy.lang.Closure.call(Closure.java:426) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForMapEntry(DefaultGroovyMethods.java:5226) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2107) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.dgm$163.invoke(Unknown Source) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-2.4.5.jar:2.4.5]
at grails.plugin.jms.JmsGrailsPlugin.doWithApplicationContext(JmsGrailsPlugin.groovy:75) [jms-2.0.0.M1.jar:na]
at org.grails.plugins.DefaultGrailsPlugin.doWithApplicationContext(DefaultGrailsPlugin.java:524) [grails-core-3.0.9.jar:3.0.9]
at org.grails.plugins.AbstractGrailsPluginManager.doPostProcessing(AbstractGrailsPluginManager.java:229) [grails-core-3.0.9.jar:3.0.9]
at grails.boot.config.GrailsApplicationPostProcessor.onApplicationEvent(GrailsApplicationPostProcessor.groovy:220) [grails-core-3.0.9.jar:3.0.9]
at grails.boot.config.GrailsApplicationPostProcessor.onApplicationEvent(GrailsApplicationPostProcessor.groovy) [grails-core-3.0.9.jar:3.0.9]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:151) [spring-context-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128) [spring-context-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:331) [spring-context-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:773) [spring-context-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:140) [spring-boot-1.2.6.RELEASE.jar:1.2.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483) [spring-context-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) [spring-boot-1.2.6.RELEASE.jar:1.2.6.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:687) [spring-boot-1.2.6.RELEASE.jar:1.2.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) [spring-boot-1.2.6.RELEASE.jar:1.2.6.RELEASE]
at grails.boot.GrailsApp.run(GrailsApp.groovy:52) [grails-core-3.0.9.jar:3.0.9]
at grails.boot.GrailsApp.run(GrailsApp.groovy:330) [grails-core-3.0.9.jar:3.0.9]
at grails.boot.GrailsApp.run(GrailsApp.groovy:319) [grails-core-3.0.9.jar:3.0.9]
at grails.boot.GrailsApp$run.call(Unknown Source) [grails-core-3.0.9.jar:3.0.9]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) [groovy-2.4.5.jar:2.4.5]
at blog.Application.main(Application.groovy:16) [main/:na]
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_65]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_65]
at org.apache.activemq.broker.BrokerService.createPersistenceAdapter(BrokerService.java:2368) ~[activemq-broker-5.11.1.jar:5.11.1]
... 104 common frames omitted
Grails application running at http://localhost:8080 in environment: development
ERROR org.apache.activemq.broker.BrokerService - Failed to start Apache ActiveMQ ([localhost, null], {})
java.io.IOException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:39) ~[activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.createPersistenceAdapter(BrokerService.java:2373) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.getPersistenceAdapter(BrokerService.java:1188) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:645) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:640) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.start(BrokerService.java:605) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:126) [activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:55) [activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:317) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:332) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:305) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:245) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:276) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory$1.makeObject(PooledConnectionFactory.java:108) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory$1.makeObject(PooledConnectionFactory.java:88) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.commons.pool.impl.GenericKeyedObjectPool.addObject(GenericKeyedObjectPool.java:1748) [commons-pool-1.6.jar:1.6]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:222) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:205) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:413) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:398) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:909) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:884) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1055) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65]
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_65]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_65]
at org.apache.activemq.broker.BrokerService.createPersistenceAdapter(BrokerService.java:2368) ~[activemq-broker-5.11.1.jar:5.11.1]
... 24 common frames omitted
ERROR org.springframework.jms.listener.DefaultMessageListenerContainer - Could not refresh JMS Connection for destination 'jabberOut' - retrying using FixedBackOff{interval=5000, currentAttempts=0, maxAttempts=unlimited}. Cause: Error while attempting to add new Connection to the pool; nested exception is javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
ERROR org.apache.activemq.broker.BrokerService - Failed to start Apache ActiveMQ ([localhost, null], {})
java.io.IOException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:39) ~[activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.createPersistenceAdapter(BrokerService.java:2373) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.getPersistenceAdapter(BrokerService.java:1188) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:645) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:640) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.start(BrokerService.java:605) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:126) [activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:55) [activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:317) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:332) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:305) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:245) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:276) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory$1.makeObject(PooledConnectionFactory.java:108) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory$1.makeObject(PooledConnectionFactory.java:88) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.commons.pool.impl.GenericKeyedObjectPool.addObject(GenericKeyedObjectPool.java:1748) [commons-pool-1.6.jar:1.6]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:222) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:205) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:413) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:398) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:909) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:884) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1055) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65]
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_65]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_65]
at org.apache.activemq.broker.BrokerService.createPersistenceAdapter(BrokerService.java:2368) ~[activemq-broker-5.11.1.jar:5.11.1]
... 24 common frames omitted
ERROR org.springframework.jms.listener.DefaultMessageListenerContainer - Could not refresh JMS Connection for destination 'jabberOut' - retrying using FixedBackOff{interval=5000, currentAttempts=1, maxAttempts=unlimited}. Cause: Error while attempting to add new Connection to the pool; nested exception is javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
ERROR org.apache.activemq.broker.BrokerService - Failed to start Apache ActiveMQ ([localhost, null], {})
java.io.IOException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:39) ~[activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.createPersistenceAdapter(BrokerService.java:2373) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.getPersistenceAdapter(BrokerService.java:1188) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:645) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:640) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.broker.BrokerService.start(BrokerService.java:605) ~[activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:126) [activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:55) [activemq-broker-5.11.1.jar:5.11.1]
at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:317) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:332) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:305) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:245) [activemq-client-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:276) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory$1.makeObject(PooledConnectionFactory.java:108) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory$1.makeObject(PooledConnectionFactory.java:88) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.commons.pool.impl.GenericKeyedObjectPool.addObject(GenericKeyedObjectPool.java:1748) [commons-pool-1.6.jar:1.6]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:222) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:205) [activemq-jms-pool-5.11.1.jar:5.11.1]
at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:413) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:398) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:909) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:884) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1055) [spring-jms-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65]
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_65]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_65]
at org.apache.activemq.broker.BrokerService.createPersistenceAdapter(BrokerService.java:2368) ~[activemq-broker-5.11.1.jar:5.11.1]
... 24 common frames omitted
ERROR org.springframework.jms.listener.DefaultMessageListenerContainer - Could not refresh JMS Connection for destination 'jabberOut' - retrying using FixedBackOff{interval=5000, currentAttempts=2, maxAttempts=unlimited}. Cause: Error while attempting to add new Connection to the pool; nested exception is javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
Hello,
Are JMS properties supported by the plugin?
In the Java way it would be done working with the "Message" object it self ... how would be the prefered way to get/set JMS properties in grails?
Thanks.
In main branch was fix for plugin load order "added dataSource to loadAfter" dee0630
Need to describe plugin's load order, so that it will be loaded after everything related to dataSource is ready.
Fix in \src\main\groovy\grails\plugin\jmsJmsGrailsPlugin.groovy
def loadAfter = ['services', 'controllers','dataSource','hibernate', 'hibernate4']
And with Grails 3.2 there is also hibernate5
Grails documentation about plugin load order
http://docs.grails.org/latest/guide/plugins.html#understandingPluginLoadOrder
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.