Async redirect in Grails 3.0 - grails-3.0

Async redirect in grails 3.0 controller fails.
Below is sample controller snippet;
import static grails.async.Promises.*
class WaitController {
def index() {
if (request.asyncContext) {
render 'index sync'
} else {
task {
render 'index async'
}
}
}
def redirectSync() {
redirect action:'index'
// works very well
}
def redirectAsync() {
task {
try {
redirect action:'index'
} catch (Exception ex) {
log.error('async redirect', ex)
}
}
}
}
The exception's stack trace is like;
ERROR grails.app.controllers.grails3.event.driven.WaitController - async redirect
org.hibernate.HibernateException: No Session found for current thread
at org.grails.orm.hibernate.GrailsSessionContext.currentSession(GrailsSessionContext.java:117) ~[grails-datastore-gorm-hibernate4-4.0.6.RELEASE.jar:na]
at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:1014) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
at org.grails.orm.hibernate.SessionFactoryProxy.getCurrentSession(SessionFactoryProxy.java:148) ~[grails-datastore-gorm-hibernate4-4.0.6.RELEASE.jar:na]
at org.grails.orm.hibernate.support.FlushOnRedirectEventListener.responseRedirected(FlushOnRedirectEventListener.java:38) ~[grails-datastore-gorm-hibernate4-4.0.6.RELEASE.jar:na]
at grails.web.mapping.ResponseRedirector.redirectResponse(ResponseRedirector.groovy:101) ~[grails-web-url-mappings-3.0.8.jar:3.0.8]
at grails.web.mapping.ResponseRedirector.redirect(ResponseRedirector.groovy:79) ~[grails-web-url-mappings-3.0.8.jar:3.0.8]
at grails.artefact.controller.support.ResponseRedirector$Trait$Helper.redirect(ResponseRedirector.groovy:119) ~[grails-plugin-controllers-3.0.8.jar:3.0.8]
at sun.reflect.GeneratedMethodAccessor366.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:201510201305]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:214) [groovy-2.4.4.jar:2.4.4]
at grails3.event.driven.WaitController.grails_artefact_Controllertrait$super$redirect(WaitController.groovy) ~[main/:na]
at sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:201510201305]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-2.4.4.jar:2.4.4]
at grails.artefact.Controller$Trait$Helper.redirect(Controller.groovy:241) ~[grails-plugin-controllers-3.0.8.jar:3.0.8]
at sun.reflect.GeneratedMethodAccessor365.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:201510201305]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) [groovy-2.4.4.jar:2.4.4]
at grails3.event.driven.WaitController.redirect(WaitController.groovy) ~[main/:na]
at sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:201510201305]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-2.4.4.jar:2.4.4]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:384) ~[groovy-2.4.4.jar:2.4.4]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69) [groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52) [groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154) [groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166) [groovy-2.4.4.jar:2.4.4]
at grails3.event.driven.WaitController$_redirectAsync_closure2.doCall(WaitController.groovy:21) ~[main/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:201510201305]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:201510201305]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:201510201305]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-2.4.4.jar:2.4.4]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) ~[groovy-2.4.4.jar:2.4.4]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:42) [groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:57) [groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-2.4.4.jar:2.4.4]
at org.grails.plugins.web.async.WebRequestPromiseDecorator.invokeClosure(WebRequestPromiseDecorator.groovy:43) [grails-plugin-async-3.0.8.jar:3.0.8]
at org.grails.plugins.web.async.WebRequestPromiseDecorator$_decorate_closure1.doCall(WebRequestPromiseDecorator.groovy:30) [grails-plugin-async-3.0.8.jar:3.0.8]
at sun.reflect.GeneratedMethodAccessor285.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:201510201305]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-2.4.4.jar:2.4.4]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) ~[groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) ~[groovy-2.4.4.jar:2.4.4]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) ~[groovy-2.4.4.jar:2.4.4]
at groovy.lang.Closure.call(Closure.java:426) [groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:53) [groovy-2.4.4.jar:2.4.4]
at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:105) [groovy-2.4.4.jar:2.4.4]
at com.sun.proxy.$Proxy74.get(Unknown Source) [na:na]
at reactor.rx.stream.SupplierStream$2.run(SupplierStream.java:82) [reactor-stream-2.0.3.RELEASE.jar:na]
at reactor.core.dispatch.AbstractLifecycleDispatcher$2.accept(AbstractLifecycleDispatcher.java:136) [reactor-core-2.0.3.RELEASE.jar:na]
at reactor.core.dispatch.AbstractLifecycleDispatcher.route(AbstractLifecycleDispatcher.java:159) [reactor-core-2.0.3.RELEASE.jar:na]
at reactor.core.dispatch.SingleThreadDispatcher$SingleThreadTask.run(SingleThreadDispatcher.java:79) [reactor-core-2.0.3.RELEASE.jar:na]
at reactor.core.dispatch.RingBufferDispatcher$3.onEvent(RingBufferDispatcher.java:156) [reactor-core-2.0.3.RELEASE.jar:na]
at reactor.core.dispatch.RingBufferDispatcher$3.onEvent(RingBufferDispatcher.java:153) [reactor-core-2.0.3.RELEASE.jar:na]
at reactor.jarjar.com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128) [reactor-core-2.0.3.RELEASE.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_65]
at java.lang.Thread.run(Thread.java:745)
It seems this is around hibernate session problem but there's no GORM and I don't know how to prevent it.

Related

How to validate JSON with schema which contains a reference to another schema?

I want to validate a JSON file with a JSON schema file, which contains a reference to another JSON schema file.
I added a JSON Schema Validator for my Apache Camel route. Because I use JSON schema version draft-07 and the default version is draft-04, I exposed a JsonSchemaLoader, see also https://stackoverflow.com/a/63417253/5277820.
The first schema test-schema-1 is loaded from class path, but the second test-schema-2 is loaded from internet. The used ID http://mycompany/test-schema2.json is only an ID not a real resource, therefore I get an exception.
Is there any way to load the second JSON schema also from class path?
Spring Boot application
#SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
#Bean
public JsonSchemaLoader mySchemaLoader() {
return (camelContext, schemaStream) ->
JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V7).getSchema(schemaStream);
}
#Bean
public EndpointRouteBuilder routeBuilder() {
return new EndpointRouteBuilder() {
#Override
public void configure() throws Exception {
from(file("d:/tmp/camel/"))
.to(jsonValidator("/test/test-schema1.json").advanced().schemaLoader(mySchemaLoader())).stop();
}
};
}
}
JSON schema
test-schema-1:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://mycompany/test-schema1.json",
"type": "object",
"properties": {
"obj": {
"$ref": "test-schema2.json"
}
},
"required": [
"target"
]
}
test-schema-2:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://mycompany/test-schema2.json",
"type": "object",
"properties": {
"value": {
"type": "string"
}
}
}
Logs
Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId ProcessorId Processor Elapsed (ms)
[route1 ] [route1 ] [from[file://d:/tmp/camel/] ] [ 5]
...
[route1 ] [to1 ] [json-validator:///test/test-schema1.json?hash=93f27f49 ] [ 0]
Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
com.networknt.schema.JsonSchemaException: java.net.UnknownHostException: mycompany
at com.networknt.schema.JsonSchemaFactory.getSchema(JsonSchemaFactory.java:348) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.RefValidator.getRefSchema(RefValidator.java:76) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.RefValidator.<init>(RefValidator.java:41) ~[json-schema-validator-1.0.43.jar:na]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[na:na]
at com.networknt.schema.ValidatorTypeCode.newValidator(ValidatorTypeCode.java:131) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonMetaSchema.newValidator(JsonMetaSchema.java:342) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.ValidationContext.newValidator(ValidationContext.java:53) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonSchema.read(JsonSchema.java:198) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonSchema.initialize(JsonSchema.java:76) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.PropertiesValidator.<init>(PropertiesValidator.java:36) ~[json-schema-validator-1.0.43.jar:na]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[na:na]
at com.networknt.schema.ValidatorTypeCode.newValidator(ValidatorTypeCode.java:131) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonMetaSchema.newValidator(JsonMetaSchema.java:342) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.ValidationContext.newValidator(ValidationContext.java:53) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonSchema.read(JsonSchema.java:198) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonSchema.initialize(JsonSchema.java:76) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonSchemaFactory.newJsonSchema(JsonSchemaFactory.java:254) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonSchemaFactory.getSchema(JsonSchemaFactory.java:296) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonSchemaFactory.getSchema(JsonSchemaFactory.java:304) ~[json-schema-validator-1.0.43.jar:na]
at test.TestApplication.lambda$0(TestApplication.java:22) ~[classes/:na]
at org.apache.camel.component.jsonvalidator.JsonValidatorEndpoint.getOrCreateSchema(JsonValidatorEndpoint.java:162) ~[camel-json-validator-3.5.0.jar:3.5.0]
at org.apache.camel.component.jsonvalidator.JsonValidatorEndpoint.onExchange(JsonValidatorEndpoint.java:94) ~[camel-json-validator-3.5.0.jar:3.5.0]
at org.apache.camel.support.ProcessorEndpoint$1.process(ProcessorEndpoint.java:61) ~[camel-support-3.5.0.jar:3.5.0]
at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66) ~[camel-support-3.5.0.jar:3.5.0]
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:169) ~[camel-base-3.5.0.jar:3.5.0]
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:404) ~[camel-base-3.5.0.jar:3.5.0]
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) ~[camel-base-3.5.0.jar:3.5.0]
at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60) ~[camel-base-3.5.0.jar:3.5.0]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:147) ~[camel-base-3.5.0.jar:3.5.0]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:287) ~[camel-base-3.5.0.jar:3.5.0]
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:483) ~[camel-file-3.5.0.jar:3.5.0]
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:237) ~[camel-file-3.5.0.jar:3.5.0]
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:198) ~[camel-file-3.5.0.jar:3.5.0]
at org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:190) ~[camel-support-3.5.0.jar:3.5.0]
at org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:107) ~[camel-support-3.5.0.jar:3.5.0]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: java.net.UnknownHostException: mycompany
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220) ~[na:na]
at java.base/java.net.Socket.connect(Socket.java:608) ~[na:na]
at java.base/java.net.Socket.connect(Socket.java:557) ~[na:na]
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182) ~[na:na]
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474) ~[na:na]
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569) ~[na:na]
at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242) ~[na:na]
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341) ~[na:na]
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362) ~[na:na]
at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1253) ~[na:na]
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) ~[na:na]
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) ~[na:na]
at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015) ~[na:na]
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592) ~[na:na]
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) ~[na:na]
at com.networknt.schema.uri.URLFetcher.openConnectionCheckRedirects(URLFetcher.java:57) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.uri.URLFetcher.fetch(URLFetcher.java:43) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.uri.URISchemeFetcher.fetch(URISchemeFetcher.java:50) ~[json-schema-validator-1.0.43.jar:na]
at com.networknt.schema.JsonSchemaFactory.getSchema(JsonSchemaFactory.java:325) ~[json-schema-validator-1.0.43.jar:na]
... 46 common frames omitted
There is a configuration property for URI mappings, see Configuration:
uriMappings
Map of public, typically internet-accessible schema URLs to alternate locations; this allows for offline validation of schemas that refer to public URLs. This is merged with any mappings the sonSchemaFactory may have been built.
The type for this variable is Map<String, String>.
Modified code:
#Bean
public JsonSchemaLoader mySchemaLoader() {
final SchemaValidatorsConfig config = new SchemaValidatorsConfig();
config.setUriMappings(
Map.of("http://mycompany/test-schema2.json", "resource:/test/test-schema2.json"));
return (camelContext, schemaStream) ->
JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V7).getSchema(schemaStream, config);
}

Solr could not get value for property on Broadleaf Commerce

I am trying to install Broadleaf Commerce Community Edition (6.1.3-GA) on macOS.
I have successfully installed Solr 8.6.0 locally and get this response at http://localhost:8983/solr/admin/cores?action=STATUS
{
"responseHeader":{
"status":0,
"QTime":47},
"initFailures":{},
"status":{
"catalog":{
"name":"catalog",
"instanceDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/catalog",
"dataDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/catalog/data/",
"config":"solrconfig.xml",
"schema":"managed-schema",
"startTime":"2020-08-04T03:13:32.320Z",
"uptime":126010809,
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.MMapDirectory:MMapDirectory#/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/catalog/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory#5fb1ae26",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}},
"catalog_reindex":{
"name":"catalog_reindex",
"instanceDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/catalog_reindex",
"dataDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/catalog_reindex/data/",
"config":"solrconfig.xml",
"schema":"managed-schema",
"startTime":"2020-08-04T03:13:32.988Z",
"uptime":126010160,
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.MMapDirectory:MMapDirectory#/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/catalog_reindex/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory#5fb1ae26",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}},
"customers":{
"name":"customers",
"instanceDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/customers",
"dataDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/customers/data/",
"config":"solrconfig.xml",
"schema":"managed-schema",
"startTime":"2020-08-04T03:13:32.209Z",
"uptime":126010941,
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.MMapDirectory:MMapDirectory#/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/customers/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory#5fb1ae26",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}},
"customers_reindex":{
"name":"customers_reindex",
"instanceDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/customers_reindex",
"dataDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/customers_reindex/data/",
"config":"solrconfig.xml",
"schema":"managed-schema",
"startTime":"2020-08-04T03:13:32.935Z",
"uptime":126010216,
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.MMapDirectory:MMapDirectory#/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/customers_reindex/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory#5fb1ae26",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}},
"fulfillment_orders":{
"name":"fulfillment_orders",
"instanceDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/fulfillment_orders",
"dataDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/fulfillment_orders/data/",
"config":"solrconfig.xml",
"schema":"managed-schema",
"startTime":"2020-08-04T03:13:32.209Z",
"uptime":126010942,
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.MMapDirectory:MMapDirectory#/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/fulfillment_orders/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory#5fb1ae26",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}},
"fulfillment_orders_reindex":{
"name":"fulfillment_orders_reindex",
"instanceDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/fulfillment_orders_reindex",
"dataDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/fulfillment_orders_reindex/data/",
"config":"solrconfig.xml",
"schema":"managed-schema",
"startTime":"2020-08-04T03:13:32.934Z",
"uptime":126010220,
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.MMapDirectory:MMapDirectory#/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/fulfillment_orders_reindex/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory#5fb1ae26",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}},
"orders":{
"name":"orders",
"instanceDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/orders",
"dataDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/orders/data/",
"config":"solrconfig.xml",
"schema":"managed-schema",
"startTime":"2020-08-04T03:13:33.091Z",
"uptime":126010063,
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.MMapDirectory:MMapDirectory#/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/orders/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory#5fb1ae26",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}},
"orders_reindex":{
"name":"orders_reindex",
"instanceDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/orders_reindex",
"dataDir":"/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/orders_reindex/data/",
"config":"solrconfig.xml",
"schema":"schema.xml",
"startTime":"2020-08-04T03:13:33.110Z",
"uptime":126010045,
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.MMapDirectory:MMapDirectory#/Users/gunther/Desktop/solr-8.6.0/server/solr/solrhome/cores/orders_reindex/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory#5fb1ae26",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}}}}
As you can see Solr seems to be working but i get this error while compiling Broadleaf Commerce:
ERROR 47828 --- [ main] o.b.c.s.s.s.index.SolrIndexServiceImpl : Could not get value for property[Product.productAttributes(heatRange).value] for product id[2]
java.lang.reflect.InvocationTargetException: null
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2116) ~[commons-beanutils-1.9.2.jar:1.9.2]
at org.apache.commons.beanutils.PropertyUtilsBean.getMappedProperty(PropertyUtilsBean.java:690) ~[commons-beanutils-1.9.2.jar:1.9.2]
at org.apache.commons.beanutils.PropertyUtilsBean.getMappedProperty(PropertyUtilsBean.java:614) ~[commons-beanutils-1.9.2.jar:1.9.2]
at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:804) ~[commons-beanutils-1.9.2.jar:1.9.2]
at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:884) ~[commons-beanutils-1.9.2.jar:1.9.2]
at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:464) ~[commons-beanutils-1.9.2.jar:1.9.2]
at org.broadleafcommerce.core.search.service.solr.SolrHelperServiceImpl.getPropertyValueInternal(SolrHelperServiceImpl.java:952) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.SolrHelperServiceImpl.getPropertyValue(SolrHelperServiceImpl.java:430) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.SolrHelperServiceImpl.getPropertyValue(SolrHelperServiceImpl.java:424) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.getPropertyValues(SolrIndexServiceImpl.java:677) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.attachIndexableDocumentFields(SolrIndexServiceImpl.java:526) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.buildDocument(SolrIndexServiceImpl.java:506) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.buildIncrementalIndex(SolrIndexServiceImpl.java:436) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl$1.buildPage(SolrIndexServiceImpl.java:229) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.buildIncrementalIndex(SolrIndexServiceImpl.java:386) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl$2.execute(SolrIndexServiceImpl.java:269) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.performCachedOperation(SolrIndexServiceImpl.java:173) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.executeSolrIndexOperation(SolrIndexServiceImpl.java:256) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.buildIndex(SolrIndexServiceImpl.java:198) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.search.service.solr.index.SolrIndexServiceImpl.rebuildIndex(SolrIndexServiceImpl.java:185) ~[broadleaf-framework-6.1.3-GA.jar:na]
at com.community.core.service.search.SolrIndexCleanupServiceImpl.rebuildIndexAtStartupIfNecessary(SolrIndexCleanupServiceImpl.java:54) ~[boot-community-demo-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at com.community.core.service.search.SolrIndexCleanupServiceImpl$$FastClassBySpringCGLIB$$b84b8451.invoke(<generated>) ~[boot-community-demo-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:752) ~[spring-aop-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) ~[spring-tx-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) ~[spring-tx-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) ~[spring-aop-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at com.community.core.service.search.SolrIndexCleanupServiceImpl$$EnhancerBySpringCGLIB$$1576716f.rebuildIndexAtStartupIfNecessary(<generated>) ~[boot-community-demo-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:261) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:179) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:142) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:897) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162) ~[spring-boot-2.1.15.RELEASE.jar:2.1.15.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) ~[spring-context-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.1.15.RELEASE.jar:2.1.15.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744) ~[spring-boot-2.1.15.RELEASE.jar:2.1.15.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391) ~[spring-boot-2.1.15.RELEASE.jar:2.1.15.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) ~[spring-boot-2.1.15.RELEASE.jar:2.1.15.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) ~[spring-boot-2.1.15.RELEASE.jar:2.1.15.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1204) ~[spring-boot-2.1.15.RELEASE.jar:2.1.15.RELEASE]
at com.community.admin.AdminApplication.main(AdminApplication.java:18) ~[classes/:na]
Caused by: java.lang.IllegalArgumentException: A locale could not be found for the provided localeCode: en_DE
at org.broadleafcommerce.common.i18n.service.TranslationServiceImpl.shouldTranslateLocale(TranslationServiceImpl.java:236) ~[broadleaf-common-6.1.3-GA.jar:na]
at org.broadleafcommerce.common.i18n.service.TranslationServiceImpl.getTranslatedValue(TranslationServiceImpl.java:189) ~[broadleaf-common-6.1.3-GA.jar:na]
at org.broadleafcommerce.common.i18n.service.TranslationServiceImpl$$FastClassBySpringCGLIB$$f73424a7.invoke(<generated>) ~[broadleaf-common-6.1.3-GA.jar:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687) ~[spring-aop-5.1.16.RELEASE.jar:5.1.16.RELEASE]
at org.broadleafcommerce.common.i18n.service.TranslationServiceImpl$$EnhancerBySpringCGLIB$$2ed43831.getTranslatedValue(<generated>) ~[broadleaf-common-6.1.3-GA.jar:na]
at org.broadleafcommerce.common.i18n.service.DynamicTranslationProvider.getValue(DynamicTranslationProvider.java:48) ~[broadleaf-common-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.catalog.domain.ProductAttributeImpl.getName(ProductAttributeImpl.java:116) ~[broadleaf-framework-6.1.3-GA.jar:na]
at org.broadleafcommerce.core.catalog.domain.ProductImpl.getProductAttributes(ProductImpl.java:921) ~[broadleaf-framework-6.1.3-GA.jar:na]
... 56 common frames omitted
Here is the relevant content from solr-8.6.0/server/logs
2020-08-05 17:18:43.914 INFO (qtp2138005960-24) [ x:catalog_reindex] o.a.s.u.p.LogUpdateProcessorFactory [catalog_reindex] webapp=/solr path=/update params={wt=javabin&version=2}{deleteByQuery=namespace:("d") (-1674206693462900736)} 0 3
2020-08-05 17:18:43.937 INFO (qtp2138005960-21) [ x:catalog_reindex] o.a.s.u.p.LogUpdateProcessorFactory [catalog_reindex] webapp=/solr path=/update params={waitSearcher=true&commit=true&softCommit=false&wt=javabin&version=2}{commit=} 0 2
I have read question 53358713, I do not think it is the same. Thank you very much!
Try entering en_DE into BLC_LOCALE
INSERT INTO BLC_LOCALE (LOCALE_CODE, DEFAULT_FLAG, FRIENDLY_NAME, CURRENCY_CODE) VALUES ('en_DE', FALSE, 'English (Germany)', 'EUR');

Camel onCompletion with modeBeforeConsumer -> Stackoverflowerror

I created a route that look like this:
from("cxfrs:bean:server?bindingStyle=SimpleConsumer")
.setExchangePattern(ExchangePattern.InOnly)
.streamCaching()
.onCompletion()
.modeBeforeConsumer() // <-- Problem
.to(CommonRoutes.ENDPOINT_DIRECT_LOGGING)
.process(createResponse)
.end()
.split().body().stopOnException()
.process(domainWrapProcessor)
.to(OutAmq.OUT_PLUG)
;
The Logging route is this:
from(ENDPOINT_DIRECT_LOGGING)
.routeId(routeId_direct_logging)
.doTry()
.process(createAuditMessageProcessor)
.marshal().json(JsonLibrary.Jackson)
.to(ENDPOINT_VM_LOG_DELIVERY) //mocked out in Test
.doCatch(Throwable.class)
.process(e -> {
log.warn("Failed to send audit message", e);
})
.end()
.end();
Because i only want to send an empty body with status back to caller i added .process(createResponse) together with .modeBeforeConsumer(). For logging it is not relevant if this happens before or after consumer.
The Problem is by adding .modeBeforeConsumer() camel produces a StackoverflowError.
onCompletion is triggered some hundred times but the exchange is always fed back after .to(CommonRoutes.ENDPOINT_DIRECT_LOGGING) - createResponse is never reached. But the mock:ENDPOINT_VM_LOG_DELIVERY registers some hundred exchanges.
I found 2 workarounds (but both destroy the desired semantic):
"mock and skip" ENDPOINT_DIRECT_LOGGING (log route is not called)
delete/comment .modeBeforeConsumer()
So what is going on here? What could cause this?
Here is the camel error log (repeats many times):
[immobilenserviceIn] [to3 ] [direct:logging ] [ 769]
[routeId_directLogg] [doTry1 ] [doTry ] [ 12]
[routeId_directLogg] [process1 ] [Processor#0x11f0a5a1 ] [ 0]
[routeId_directLogg] [marshal1 ] [marshal[org.apache.camel.model.dataformat.JsonDataFormat#20435c40] ] [ 12]
[routeId_directLogg] [to1 ] [vm:log-delivery ] [ 0]
[immobilenserviceIn] [process3 ] [Processor#0x142269f2 ] [ 0]
[immobilenserviceIn] [to3 ] [direct:logging ] [ 757]
[routeId_directLogg] [doTry1 ] [doTry ] [ 12]
And this is a part of the stack trace (until first repetition):
org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[ID-D624342-61550-1491998476554-0-2]
at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1706)
at org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:348)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:160)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:91)
at org.apache.camel.processor.OnCompletionProcessor.doProcess(OnCompletionProcessor.java:151)
at org.apache.camel.processor.OnCompletionProcessor$OnCompletionSynchronizationBeforeConsumer.onAfterRoute(OnCompletionProcessor.java:350)
at org.apache.camel.util.UnitOfWorkHelper.afterRouteSynchronizations(UnitOfWorkHelper.java:154)
at org.apache.camel.impl.DefaultUnitOfWork.afterRoute(DefaultUnitOfWork.java:273)
at org.apache.camel.processor.CamelInternalProcessor$RouteLifecycleAdvice.after(CamelInternalProcessor.java:316)
at org.apache.camel.processor.CamelInternalProcessor$InternalCallback.done(CamelInternalProcessor.java:245)
at org.apache.camel.processor.CamelInternalProcessor$InternalCallback.done(CamelInternalProcessor.java:256)
at org.apache.camel.management.InstrumentationProcessor$1.done(InstrumentationProcessor.java:86)
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:101)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:62)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:145)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)

Springboot application - Unable to create initial connections of pool (SQL Server)

Everything was working fine until just a few days ago. I have not modified any code since last running the application successfully. What could have possibly caused my connection to the database to start failing? I have made sure to test in the SSMS Object Explorer and can connect to the database as an SQL user with the user/pass shown below:
My application.properties file:
# MsSQL Connection
spring.datasource.url=jdbc:sqlserver://host:port;database=springbootdb;
spring.datasource.username=TMTAdmin
spring.datasource.password=pass123!
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.show-sql=true
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
spring.jpa.hibernate.ddl-auto=create-drop
2017-03-14 10:19:53.406 ERROR 108236 --- [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.
Exception
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'TMTAdmin'. ClientConnectionId:0f665431-7f24-49a7-b900-e966db1eb14a
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:279) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:99) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4346) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773) ~[sqljdbc4-4.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168) ~[sqljdbc4-4.0.jar:na]
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:310) ~[tomcat-jdbc-8.5.11.jar:na]
at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203) ~[tomcat-jdbc-8.5.11.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:732) [tomcat-jdbc-8.5.11.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:664) [tomcat-jdbc-8.5.11.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:479) [tomcat-jdbc-8.5.11.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:154) [tomcat-jdbc-8.5.11.jar:na]
at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:118) [tomcat-jdbc-8.5.11.jar:na]
at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:107) [tomcat-jdbc-8.5.11.jar:na]
at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:131) [tomcat-jdbc-8.5.11.jar:na]
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) [spring-jdbc-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) [spring-jdbc-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:316) [spring-jdbc-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:356) [spring-jdbc-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.autoconfigure.orm.jpa.DatabaseLookup.getDatabase(DatabaseLookup.java:72) [spring-boot-autoconfigure-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.autoconfigure.orm.jpa.JpaProperties.determineDatabase(JpaProperties.java:139) [spring-boot-autoconfigure-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.jpaVendorAdapter(JpaBaseConfiguration.java:106) [spring-boot-autoconfigure-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration$$EnhancerBySpringCGLIB$$3b9a2ba.CGLIB$jpaVendorAdapter$9(<generated>) [spring-boot-autoconfigure-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration$$EnhancerBySpringCGLIB$$3b9a2ba$$FastClassBySpringCGLIB$$fab0077c.invoke(<generated>) [spring-boot-autoconfigure-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) [spring-core-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358) [spring-context-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration$$EnhancerBySpringCGLIB$$3b9a2ba.jpaVendorAdapter(<generated>) [spring-boot-autoconfigure-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:587) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1193) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1087) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:484) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:250) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1128) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1056) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:833) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:740) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:466) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1193) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1087) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:484) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:250) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1128) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1056) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:833) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:740) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:466) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1193) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1087) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:484) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) [spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1079) [spring-context-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:855) [spring-context-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) [spring-context-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:122) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:809) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:404) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:347) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1249) [spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at com.martin.TmtApplication.main(TmtApplication.java:12) [classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]
at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:527) [spring-boot-maven-plugin-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
What's going on?

Getting blob data from database using apache camel

I try to get a blob out of a database using camel (2.15.1). The data size is about 20 mb. This is my route:
<route streamCache="true">
<from uri="file://c:/tmp/trigger" />
<to uri="jdbc:datasourceCosima" />
<log message="done 1."/>
<to uri="direct:a" />
</route>
<route streamCache="true">
<from uri="direct:a" />
<to uri="file:blobdata" />
<log message="done 2."/>
</route>
To start it i place a file with the sql command in c:/tmp/trigger. The content is something like select bls_data from blob_storage where io_id='2fe0...'
This is the result:
[2016-02-18 12:44:15.539] INFO: org.apache.camel.util.CamelLogger log - done 1.
[2016-02-18 12:44:16.553] SEVERE: org.apache.camel.util.CamelLogger log - Failed delivery for (MessageId: ID-GHD13044-49732-1455793836517-2-2382 on ExchangeId: ID-GHD13044-49732-1455793836517-2-2381). Exhausted after delivery attempt: 1 caught: org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[org.apache.camel.component.file.GenericFileMessage#7a0613]
Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId ProcessorId Processor Elapsed (ms)
[route9 ] [route9 ] [file://c:/tmp/trigger ] [ 1635]
[route9 ] [to13 ] [jdbc:datasourceCosima ] [ 822]
[route9 ] [log12 ] [log ] [ 1]
[route9 ] [to14 ] [direct:a ] [ 813]
[route10 ] [to15 ] [file:blobdata ] [ 812]
Exchange
---------------------------------------------------------------------------------------------------------------------------------------
Exchange[
Id ID-GHD13044-49732-1455793836517-2-2381
ExchangePattern InOnly
Headers {breadcrumbId=ID-GHD13044-49732-1455793836517-2-2380, CamelFileAbsolute=true, CamelFileAbsolutePath=c:\tmp\trigger\select.txt, CamelFileContentType=null, CamelFileLastModified=1455793414658, CamelFileLength=179, CamelFileName=select.txt, CamelFileNameConsumed=select.txt, CamelFileNameOnly=select.txt, CamelFileParent=c:\tmp\trigger, CamelFilePath=c:\tmp\trigger\select.txt, CamelFileRelativePath=select.txt, CamelJdbcColumnNames=[bls_data], CamelJdbcRowCount=1, CamelRedelivered=false, CamelRedeliveryCounter=0}
BodyType java.util.ArrayList
Body [{bls_data=255044462D312E360D25E2E3CFD30D0A3...
]
Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[org.apache.camel.component.file.GenericFileMessage#7a0613]
at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1635)
at org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:308)
at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:64)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:129)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:448)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:51)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:129)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:448)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:433)
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:211)
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:175)
at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174)
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.OutOfMemoryError: Java heap space
I thought that streamCache would do the job and cache the data on disc or whatever.
So the question is: How to get blob data from a database into a file without size restriction?

Resources