I'm using stream bridge in my app since the topic to send is decided at runtime based on URL path params; I build a message from the Request Body, Path Elements and call stream bridge send to a function for publishing to Kafka
#Bean
public RouterFunction<ServerResponse> webhooks() {
return route().POST("/webhooks/v1/{cat}/{mat}/{key}", accept(MediaType.APPLICATION_JSON), (serverRequest) -> {
String cat = serverRequest.pathVariable("cat");
String mat = serverRequest.pathVariable("mat");
String key = serverRequest.pathVariable("key");
String logPrefix = serverRequest.exchange().getLogPrefix();
log.debug("{}Received HTTP Payload for {}:{} with key {}", logPrefix, cat, mat, key);
return serverRequest.bodyToMono(new ParameterizedTypeReference<Map<String, Object>>() {
})
.map(payload -> MessageBuilder.withPayload(payload)
.setHeader(catHeader, cat)
.setHeader(matHeader, mat)
.setHeader(keyHeader, key)
.setHeader(KafkaHeaders.MESSAGE_KEY, "someKey")
.setHeader(KafkaHeaders.TOPIC, String.join("-", cat, mat, namespace))
.setHeader(webhookRequestId, logPrefix)
.build())
.map(message -> streamBridge.send("producer", message))
.flatMap(message -> ServerResponse.accepted().build());
}).build();
}
#Bean
public Function<Flux<Message<?>>, Flux<Message<?>>> producer() {
return mapFlux -> mapFlux.map(m -> MessageBuilder.withPayload(m.getPayload()).copyHeaders(m.getHeaders()).build());
}
I then add the following properties to application yaml
spring:
main:
banner-mode: off
mongodb:
embedded:
version: 3.4.6
data:
mongodb:
port: 29129
host: localhost
database: howler_db
kafka:
binder:
brokers: localhost:9952
cloud:
function:
definition: producer
stream:
bindings:
producer-out-0:
useTopicHeader: true
producer:
configuration:
retry:
topic:
delay: 200
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
retries: 3
max:
block:
ms: 500
enable:
idempotence: true
acks: all
My test however, fails with this exception.
Caused by: org.apache.kafka.common.errors.SerializationException: Can't convert key of class java.lang.String to class org.apache.kafka.common.serialization.ByteArraySerializer specified in key.serializer
at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:949) ~[kafka-clients-3.1.1.jar:na]
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:914) ~[kafka-clients-3.1.1.jar:na]
at org.springframework.kafka.core.DefaultKafkaProducerFactory$CloseSafeProducer.send(DefaultKafkaProducerFactory.java:1087) ~[spring-kafka-2.8.7.jar:2.8.7]
at org.springframework.kafka.core.KafkaTemplate.doSend(KafkaTemplate.java:655) ~[spring-kafka-2.8.7.jar:2.8.7]
at org.springframework.kafka.core.KafkaTemplate.send(KafkaTemplate.java:429) ~[spring-kafka-2.8.7.jar:2.8.7]
at org.springframework.integration.kafka.outbound.KafkaProducerMessageHandler.handleRequestMessage(KafkaProducerMessageHandler.java:513) ~[spring-integration-kafka-5.5.13.jar:5.5.13]
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:136) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:56) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.cloud.stream.binder.AbstractMessageChannelBinder$SendingHandler.handleMessageInternal(AbstractMessageChannelBinder.java:1074) ~[spring-cloud-stream-3.2.4.jar:3.2.4]
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:56) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:115) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:133) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:106) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:72) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:317) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:272) ~[spring-integration-core-5.5.13.jar:5.5.13]
at org.springframework.cloud.stream.function.StreamBridge.send(StreamBridge.java:235) ~[spring-cloud-stream-3.2.4.jar:3.2.4]
at org.springframework.cloud.stream.function.StreamBridge.send(StreamBridge.java:170) ~[spring-cloud-stream-3.2.4.jar:3.2.4]
at org.springframework.cloud.stream.function.StreamBridge.send(StreamBridge.java:150) ~[spring-cloud-stream-3.2.4.jar:3.2.4]
at com.gabbar.cloud.sambha.SholayWebFunctionConfiguration.lambda$webhooks$1(ShokayWebFunctionConfiguration.java:67) ~[classes/:na]
logs reveal producer key.serializer isn't set.
2022-07-11 18:24:15.500 INFO 15424 --- [ctor-http-nio-2] o.a.k.clients.producer.ProducerConfig : ProducerConfig values:
acks = 1
batch.size = 16384
bootstrap.servers = [127.0.0.1:9952]
buffer.memory = 33554432
client.dns.lookup = use_all_dns_ips
client.id = producer-1
compression.type = none
connections.max.idle.ms = 540000
delivery.timeout.ms = 120000
enable.idempotence = false
interceptor.classes = []
key.serializer = class org.apache.kafka.common.serialization.ByteArraySerializer
linger.ms = 0
max.block.ms = 60000
max.in.flight.requests.per.connection = 5
max.request.size = 1048576
metadata.max.age.ms = 300000
metadata.max.idle.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
partitioner.class = class org.apache.kafka.clients.producer.internals.DefaultPartitioner
receive.buffer.bytes = 32768
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
request.timeout.ms = 30000
retries = 2147483647
retry.backoff.ms = 100
sasl.client.callback.handler.class = null
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.connect.timeout.ms = null
sasl.login.read.timeout.ms = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.login.retry.backoff.max.ms = 10000
sasl.login.retry.backoff.ms = 100
sasl.mechanism = GSSAPI
sasl.oauthbearer.clock.skew.seconds = 30
sasl.oauthbearer.expected.audience = null
sasl.oauthbearer.expected.issuer = null
sasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100
sasl.oauthbearer.jwks.endpoint.url = null
sasl.oauthbearer.scope.claim.name = scope
sasl.oauthbearer.sub.claim.name = sub
sasl.oauthbearer.token.endpoint.url = null
security.protocol = PLAINTEXT
security.providers = null
send.buffer.bytes = 131072
socket.connection.setup.timeout.max.ms = 30000
socket.connection.setup.timeout.ms = 10000
ssl.cipher.suites = null
ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
ssl.endpoint.identification.algorithm = https
ssl.engine.factory.class = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.certificate.chain = null
ssl.keystore.key = null
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLSv1.3
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.certificates = null
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
transaction.timeout.ms = 60000
transactional.id = null
value.serializer = class org.apache.kafka.common.serialization.ByteArraySerializer
Here's what works for me now.
spring:
embedded:
kafka:
brokers: localhost:9092
cloud:
stream:
kafka:
default:
producer:
useTopicHeader: true
binder:
autoCreateTopics: false
producerProperties:
key.serializer: org.apache.kafka.common.serialization.StringSerializer
value.serializer: org.springframework.kafka.support.serializer.JsonSerializer
max.block.ms: 100
Related
I have Zookeeper and Apache Kafka servers running on my Windows computer. The problem is with a Spring Boot application: it reads the same messages from Kafka whenever I start it. It means the offset is not being saved. How do I fix it?
Versions are: kafka_2.12-2.4.0, Spring Boot 2.5.0.
In Kafka listener bean, I have
factory.getContainerProperties().setAckMode(AckMode.MANUAL_IMMEDIATE);
Consumer config values printed on console when Spring Boot starts are:
2021-06-10 18:21:11.008 INFO 7036 --- [ main] o.a.k.clients.consumer.ConsumerConfig : ConsumerConfig values:
allow.auto.create.topics = true
auto.commit.interval.ms = 5000
auto.offset.reset = latest
bootstrap.servers = [http://localhost:9092]
check.crcs = true
client.dns.lookup = use_all_dns_ips
client.id = consumer-group_id1-1
client.rack =
connections.max.idle.ms = 540000
default.api.timeout.ms = 60000
enable.auto.commit = false
exclude.internal.topics = true
fetch.max.bytes = 52428800
fetch.max.wait.ms = 500
fetch.min.bytes = 1
group.id = group_id1
group.instance.id = null
heartbeat.interval.ms = 3000
interceptor.classes = []
internal.leave.group.on.close = true
internal.throw.on.fetch.stable.offset.unsupported = false
isolation.level = read_uncommitted
key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
max.partition.fetch.bytes = 1048576
max.poll.interval.ms = 300000
max.poll.records = 500
metadata.max.age.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor]
receive.buffer.bytes = 65536
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
request.timeout.ms = 30000
retry.backoff.ms = 100
sasl.client.callback.handler.class = null
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism = GSSAPI
security.protocol = PLAINTEXT
security.providers = null
send.buffer.bytes = 131072
session.timeout.ms = 10000
socket.connection.setup.timeout.max.ms = 127000
socket.connection.setup.timeout.ms = 10000
ssl.cipher.suites = null
ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
ssl.endpoint.identification.algorithm = https
ssl.engine.factory.class = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.certificate.chain = null
ssl.keystore.key = null
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLSv1.3
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.certificates = null
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
UPDATE 11-Jun-2021
Using #nipuna's suggestion, in my Kafka consumer config, I set
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, true);
However, this was not compatible with ack mode manual_immediate, so I deleted the following line to use the default ack mode (batch, I think).
factory.getContainerProperties().setAckMode(AckMode.MANUAL_IMMEDIATE);
Your issue is here enable.auto.commit = false. If you are not manually committing offset after consuming messages, You should configure this to true
If this is set to false, after consuming messages from Kafka, there is no feedback to Kafka whether you read or not. Then after you restart your consumer it will send messages from the start. If you enable this, your consumer make sure it will automatically send your last read offset to Kafka. Then Kafka saved that offset in __consumer_offsets topic with your consumer group_id, topic you consumed and partition.
Then after you restart the consumer, Kafka read your last position from __consumer_offsets topic and send from there.
I'm very beginner to veins. I'm building a network in which ther is a standard host and a vehicle communoicate to each other via AccessPoint. I've successful done this simulation with wirelessHost and standard host. but when I used veins_inet to simulate adhocHost as a vehicle I get this error
""
My source code is following.
############################# .ned ############################
network ScenarioFOG
{
submodules:
radioMedium: Ieee80211ScalarRadioMedium {
#display("p=29,130");
}
manager: VeinsInetManager;
configurator: IPv4NetworkConfigurator {
parameters:
assignDisjunctSubnetAddresses = false;
#display("p=36,83");
}
vNode[0]: Car;
sNode: StandardHost {
#display("p=260,61");
}
AP: AccessPoint {
#display("p=197,79");
}
connections allowunconnected:
sNode.ethg++ <--> Eth100M <--> AP.ethg++;
}
############################# .ini ############################
[General]
network = ScenarioFOG
sim-time-limit = 60s
debug-on-errors = true
cmdenv-express-mode = true
image-path = ../../../../images
# UDPBasicApp
ScenarioFOG.*Node[*].numUdpApps = 1
ScenarioFOG.*Node[*].udpApp[0].typename = "UDPBasicApp"
ScenarioFOG.vNode[*].udpApp[0].destAddresses = "224.0.0.1"
ScenarioFOG.vNode[*].udpApp[0].multicastInterface = "wlan0"
ScenarioFOG.vNode[*].udpApp[0].joinLocalMulticastGroups = true
ScenarioFOG.sNode[*].udpApp[0].localPort = 9001
ScenarioFOG.vNode[*].udpApp[0].destPort = 9001
ScenarioFOG.vNode[*].udpApp[0].destAddresses = "sNode"
ScenarioFOG.sNode[*].udpApp[0].destAddresses = "vNode"
ScenarioFOG.vNode[*].udpApp[0].messageLength = 100B
ScenarioFOG.vNode[*].udpApp[0].startTime = uniform(0s, 5s)
ScenarioFOG.vNode[*].udpApp[0].sendInterval = 5s
# Ieee80211MgmtAdhoc
ScenarioFOG.vNode[*].wlan[0].mgmtType = "Ieee80211MgmtAdhoc"
ScenarioFOG.vNode[*].wlan[0].bitrate = 6Mbps
ScenarioFOG.vNode[*].wlan[0].radio.transmitter.power = 2mW
# HostAutoConfigurator
ScenarioFOG.vNode[*].ac_wlan.interfaces = "wlan0"
ScenarioFOG.vNode[*].ac_wlan.mcastGroups = "224.0.0.1"
# VeinsInetMobility
**.vNode[*].mobilityType = "VeinsInetMobility"
**.vNode[*].mobility.constraintAreaMinX = 0m
**.vNode[*].mobility.constraintAreaMinY = 0m
**.vNode[*].mobility.constraintAreaMinZ = 0m
**.vNode[*].mobility.constraintAreaMaxX = 1000m
**.vNode[*].mobility.constraintAreaMaxY = 1000m
**.vNode[*].mobility.constraintAreaMaxZ = 0m
**.vNode[*].mobility.initFromDisplayString = false
**.vNode[*].mobility.initialX = 200m
**.vNode[*].mobility.initialY = 100m
**.vNode[*].mobility.initialZ = 0m
# VeinsInetManager
ScenarioFOG.manager.updateInterval = 0.1s
ScenarioFOG.manager.host = "localhost"
ScenarioFOg.manager.port = 9999
ScenarioFOG.manager.autoShutdown = true
**.manager.launchConfig = xmldoc("square.launchd.xml")
ScenarioFOG.manager.moduleType = "org.car2x.veins.subprojects.veins_inet.example.Car"
**.vector-recording = true
I am trying to configure AD to IBM Appcenter Authentication but I receive an error mentioning The user registry operation could not be completed. The xx=xx entity is not in the scope of the defined realm. Specify an entity that is in the scope of the configured realm in the server.xml file.
My AD
Microsoft Active Directory
<ldapRegistry host="metchina.com.cn"
baseDN="xx=xx"
port="389"
id="LDAP1"
ldapType="Microsoft Active Directory"
bindDN="xx=xx"
bindPassword="xxxxxx">
</ldapRegistry>
I had tried to hit my AD from IBM appcenter authentication with different user id and I able to get the unable to find the xxx user id in AD error in the log. So I pretty sure my Appcenter able to hit AD. Not sure is AD configuration wrong or my server.xml configuration is wrong.
Below is the full error log
------Start of DE processing------ = [7/12/19 17:37:23:902 CST]
Exception = com.ibm.ws.security.registry.EntryNotFoundException
Source = com.ibm.ws.security.authentication.jaas.modules.UsernameAndPasswordLoginModule
probeid = 107
Stack Dump = com.ibm.ws.security.registry.EntryNotFoundException: CWIML0515E: The user registry operation could not be completed. The CN=xxxxxxx,ou=xxxxxxx,ou=xxxxxxx,ou=xxxxxxx,dc=xxxxxxx,dc=com,dc=cn entity is not in the scope of the defined realm. Specify an entity that is in the scope of the configured realm in the server.xml file.
at com.ibm.ws.security.wim.registry.util.SecurityNameBridge.getUserSecurityName(SecurityNameBridge.java:220)
at com.ibm.ws.security.wim.registry.WIMUserRegistry.getUserSecurityName(WIMUserRegistry.java:327)
at com.ibm.ws.security.authentication.internal.jaas.modules.ServerCommonLoginModule.getSecurityName(ServerCommonLoginModule.java:113)
at com.ibm.ws.security.authentication.jaas.modules.UsernameAndPasswordLoginModule.login(UsernameAndPasswordLoginModule.java:77)
at com.ibm.ws.kernel.boot.security.LoginModuleProxy.login(LoginModuleProxy.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:788)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:196)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)
at java.security.AccessController.doPrivileged(AccessController.java:703)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:696)
at javax.security.auth.login.LoginContext.login(LoginContext.java:597)
at com.ibm.ws.security.authentication.internal.jaas.JAASServiceImpl.doLoginContext(JAASServiceImpl.java:343)
at com.ibm.ws.security.authentication.internal.jaas.JAASServiceImpl.performLogin(JAASServiceImpl.java:329)
at com.ibm.ws.security.authentication.internal.jaas.JAASServiceImpl.performLogin(JAASServiceImpl.java:314)
at com.ibm.ws.security.authentication.internal.AuthenticationServiceImpl.performJAASLogin(AuthenticationServiceImpl.java:481)
at com.ibm.ws.security.authentication.internal.AuthenticationServiceImpl.authenticate(AuthenticationServiceImpl.java:207)
at com.ibm.ws.webcontainer.security.internal.BasicAuthAuthenticator.basicAuthenticate(BasicAuthAuthenticator.java:126)
at com.ibm.ws.webcontainer.security.internal.BasicAuthAuthenticator.handleBasicAuth(BasicAuthAuthenticator.java:117)
at com.ibm.ws.webcontainer.security.internal.BasicAuthAuthenticator.authenticate(BasicAuthAuthenticator.java:70)
at com.ibm.ws.webcontainer.security.WebAuthenticatorProxy.authenticate(WebAuthenticatorProxy.java:72)
at com.ibm.ws.webcontainer.security.WebAppSecurityCollaboratorImpl.authenticateRequest(WebAppSecurityCollaboratorImpl.java:1198)
at com.ibm.ws.webcontainer.security.WebAppSecurityCollaboratorImpl.determineWebReply(WebAppSecurityCollaboratorImpl.java:956)
at com.ibm.ws.webcontainer.security.WebAppSecurityCollaboratorImpl.performSecurityChecks(WebAppSecurityCollaboratorImpl.java:650)
at com.ibm.ws.webcontainer.security.WebAppSecurityCollaboratorImpl.preInvoke(WebAppSecurityCollaboratorImpl.java:567)
at com.ibm.wsspi.webcontainer.collaborator.CollaboratorHelper.preInvokeCollaborators(CollaboratorHelper.java:459)
at com.ibm.ws.webcontainer.osgi.collaborator.CollaboratorHelperImpl.preInvokeCollaborators(CollaboratorHelperImpl.java:270)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1109)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1005)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:75)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:927)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:279)
at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:1023)
at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.wrapHandlerAndExecute(HttpDispatcherLink.java:417)
at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:376)
at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:532)
at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleNewRequest(HttpInboundLink.java:466)
at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.processRequest(HttpInboundLink.java:331)
at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.ready(HttpInboundLink.java:302)
at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:165)
at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:74)
at com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:501)
at com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:571)
at com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQueueManager.java:926)
at com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQueueManager.java:1015)
at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:232)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.lang.Thread.run(Thread.java:812)
Caused by: com.ibm.wsspi.security.wim.exception.InvalidUniqueNameException: CWIML0515E: The user registry operation could not be completed. The CN=xxxxxxx,ou=xxxxxxx,ou=xxxxxxx,ou=xxxxxxx,dc=xxxxxxx,dc=com,dc=cn entity is not in the scope of the defined realm. Specify an entity that is in the scope of the configured realm in the server.xml file.
at com.ibm.ws.security.wim.RepositoryManager.getRepositoryIdByUniqueName(RepositoryManager.java:163)
at com.ibm.ws.security.wim.RepositoryManager.getRepositoryId(RepositoryManager.java:128)
at com.ibm.ws.security.wim.ProfileManager.retrieveEntityFromRepository(ProfileManager.java:2170)
at com.ibm.ws.security.wim.ProfileManager.retrieveEntity(ProfileManager.java:1988)
at com.ibm.ws.security.wim.ProfileManager.getImpl(ProfileManager.java:403)
at com.ibm.ws.security.wim.ProfileManager.genericProfileManagerMethod(ProfileManager.java:247)
at com.ibm.ws.security.wim.ProfileManager.get(ProfileManager.java:194)
at com.ibm.ws.security.wim.VMMService.get(VMMService.java:208)
at com.ibm.ws.security.wim.registry.util.SecurityNameBridge.getUserSecurityName(SecurityNameBridge.java:185)
... 52 more
Dump of callerThis
Object type = com.ibm.ws.security.authentication.jaas.modules.UsernameAndPasswordLoginModule
tc = class com.ibm.websphere.ras.TraceComponent#d324336d
strings[0] = "TraceComponent[com.ibm.ws.security.authentication.jaas.modules.UsernameAndPasswordLoginModule,class com.ibm.ws.security.authentication.jaas.modules.UsernameAndPasswordLoginModule,[Authentication],com.ibm.ws.security.authentication.internal.resources.AuthenticationMessages,null]"
userRegistry = class com.ibm.ws.security.wim.registry.WIMUserRegistry#c6b9e0eb
tc = class com.ibm.websphere.ras.TraceComponent#bf37e35c
strings[0] = "TraceComponent[com.ibm.ws.security.wim.registry.WIMUserRegistry,class com.ibm.ws.security.wim.registry.WIMUserRegistry,[],null,null]"
CFG_KEY_REALM = "realm"
DEFAULT_REALM_NAME = "WIMRegistry"
realm = "WIMRegistry"
configManager = class com.ibm.ws.security.wim.ConfigManager#5c4bf4f9
tc = class com.ibm.websphere.ras.TraceComponent#dc67733c
SUPPORTED_ENTITY_TYPE = "supportedEntityType"
MAX_SEARCH_RESULTS = "maxSearchResults"
SEARCH_TIME_OUT = "searchTimeout"
RDN_PROPERTY = "rdnProperty"
ENTITY_TYPE_NAME = "name"
PRIMARY_REALM = "primaryRealm"
REALM = "realm"
REALM_NAME = "name"
KEY_CONFIG_ADMIN = "configurationAdmin"
ENTITY_NAME = "name"
DEFAULT_PARENT = "defaultParent"
EXTENDED_PROPERTY = "extendedProperty"
PROPERTY_NAME = "name"
DATA_TYPE = "dataType"
MULTI_VALUED = "multiValued"
ENTITY_TYPE_NAMES = "entityType"
DEFAULT_VALUE = "defaultValue"
DEFAULT_ATTRIBUTE = "defaultAttribute"
DEFAULT_MAX_SEARCH_RESULTS = 4500
DEFAULT_SEARCH_TIMEOUT = 600000
PAGE_CACHE_SIZE = "pageCacheSize"
DEFAULT_PAGE_CACHE_SIZE = 1000
PAGE_CACHE_TIMEOUT = "pageCacheTimeout"
DEFAULT_PAGE_CACHE_TIMEOUT = 30000
originalConfig = class org.apache.felix.scr.impl.helper.ReadOnlyDictionary#70644d07
config = class java.util.HashMap#656cf46a
realmNameToRealmConfigMap = class java.util.HashMap#f1015602
entityTypeMap = class java.util.HashMap#520edc16
listeners = class java.util.ArrayList#2f9a1ca8
defaultEntityMap = null
serialVersionUID = 9116500946872456363
vmmService = class com.ibm.ws.security.wim.VMMService#16f7634f
tc = class com.ibm.websphere.ras.TraceComponent#3981111f
KEY_FACTORY = "Factory"
KEY_CONFIGURATION = "Configuration"
KEY_TYPE = "com.ibm.ws.security.wim.repository.type"
KEY_ID = "config.id"
listeners = class java.util.ArrayList#35a93618
configMgr = class com.ibm.ws.security.wim.ConfigManager#5c4bf4f9
registryRealmNames = class java.util.HashSet#9c6e2c82
profileManager = class com.ibm.ws.security.wim.ProfileManager#79c3650a
repositoryManager = class com.ibm.ws.security.wim.RepositoryManager#6b165681
serialVersionUID = -5278720081853910862
TOKEN_DELIMETER = "::"
mappingUtils = class com.ibm.ws.security.wim.registry.util.BridgeUtils#5401eb02
tc = class com.ibm.websphere.ras.TraceComponent#7b21cf5e
groupLevel = 1
returnRealmInfoInUniqueUserId = false
groupLevelLock = "GROUP_LEVEL_LOCK"
allowDNAsPrincipalName = false
ALLOW_DN_PRINCIPAL_NAME_AS_LITERAL = "com.ibm.ws.wim.registry.allowDNPrincipalNameAsLiteral"
urRealmName = null
VMMServiceRef = class com.ibm.ws.security.wim.VMMService#16f7634f
configMgrRef = class com.ibm.ws.security.wim.ConfigManager#5c4bf4f9
hasFederatedRegistry = true
serialVersionUID = 7920840092070142204
loginBridge = class com.ibm.ws.security.wim.registry.util.LoginBridge#b539307b
tc = class com.ibm.websphere.ras.TraceComponent#d0b9a948
propertyMap = class com.ibm.ws.security.wim.registry.util.TypeMappings#61b9aead
mappingUtils = class com.ibm.ws.security.wim.registry.util.BridgeUtils#5401eb02
serialVersionUID = 6462275514085308184
displayBridge = class com.ibm.ws.security.wim.registry.util.DisplayNameBridge#82d5b852
tc = class com.ibm.websphere.ras.TraceComponent#6b15148b
propertyMap = class com.ibm.ws.security.wim.registry.util.TypeMappings#f036f17
mappingUtils = class com.ibm.ws.security.wim.registry.util.BridgeUtils#5401eb02
serialVersionUID = 869303381677205174
securityBridge = class com.ibm.ws.security.wim.registry.util.SecurityNameBridge#9f9cc0a6
tc = class com.ibm.websphere.ras.TraceComponent#dc4111fc
propertyMap = class com.ibm.ws.security.wim.registry.util.TypeMappings#27d89ea5
mappingUtils = class com.ibm.ws.security.wim.registry.util.BridgeUtils#5401eb02
serialVersionUID = 6696437810486401160
uniqueBridge = class com.ibm.ws.security.wim.registry.util.UniqueIdBridge#1b868bd0
tc = class com.ibm.websphere.ras.TraceComponent#ccf03ddd
propertyMap = class com.ibm.ws.security.wim.registry.util.TypeMappings#68ff5a9e
mappingUtils = class com.ibm.ws.security.wim.registry.util.BridgeUtils#5401eb02
serialVersionUID = 6072552178668405112
validBridge = class com.ibm.ws.security.wim.registry.util.ValidBridge#77fad8dd
tc = class com.ibm.websphere.ras.TraceComponent#af6e9abb
propertyMap = class com.ibm.ws.security.wim.registry.util.TypeMappings#4becbdfa
mappingUtils = class com.ibm.ws.security.wim.registry.util.BridgeUtils#5401eb02
serialVersionUID = 3219368833523822611
searchBridge = class com.ibm.ws.security.wim.registry.util.SearchBridge#2f3ce964
tc = class com.ibm.websphere.ras.TraceComponent#8a1b02e5
propertyMap = class com.ibm.ws.security.wim.registry.util.TypeMappings#ef0bb605
mappingUtils = class com.ibm.ws.security.wim.registry.util.BridgeUtils#5401eb02
groupRDN = "cn"
serialVersionUID = -8274377172336292275
membershipBridge = class com.ibm.ws.security.wim.registry.util.MembershipBridge#2e72a0ba
tc = class com.ibm.websphere.ras.TraceComponent#afb6a395
propertyMap = class com.ibm.ws.security.wim.registry.util.TypeMappings#667dc1e1
mappingUtils = class com.ibm.ws.security.wim.registry.util.BridgeUtils#5401eb02
serialVersionUID = -6409220961095031717
serialVersionUID = 8696398972883224688
username = null
urAuthenticatedId = "CN=xxxxxxx,ou=xxxxxxx,ou=xxxxxxx,ou=xxxxxxx,dc=xxxxxxx,dc=com,dc=cn"
serialVersionUID = -1034522143030294360
tc = class com.ibm.websphere.ras.TraceComponent#f591af3b
strings[0] = "TraceComponent[com.ibm.ws.security.authentication.internal.jaas.modules.ServerCommonLoginModule,class com.ibm.ws.security.authentication.internal.jaas.modules.ServerCommonLoginModule,[Authentication],com.ibm.ws.security.authentication.internal.resources.AuthenticationMessages,null]"
jsonWebTokenProperties = class java.lang.String[1]
String[0] = "com.ibm.ws.authentication.internal.json.web.token"
subjectHelper = class com.ibm.ws.security.authentication.utility.SubjectHelper#a1fe82be
tc = class com.ibm.websphere.ras.TraceComponent#9f96c8bf
strings[0] = "TraceComponent[com.ibm.ws.security.authentication.utility.SubjectHelper,class com.ibm.ws.security.authentication.utility.SubjectHelper,[],null,null]"
serialVersionUID = -1813770949958484743
serialVersionUID = -8018638276657617650
callbackHandler = class javax.security.auth.login.LoginContext$SecureCallbackHandler#be1f5c66
acc = class java.security.AccessControlContext#d118b575
STATE_NOT_AUTHORIZED = 0
STATE_AUTHORIZED = 1
STATE_UNKNOWN = 2
debugSetting = -1
debugPermClassArray = null
debugPermNameArray = null
debugPermActionsArray = null
debugCodeBaseArray = null
DEBUG_UNINITIALIZED_HASCODEBASE = 0
DEBUG_NO_CODEBASE = 1
DEBUG_HAS_CODEBASE = 2
DEBUG_DISABLED = 0
DEBUG_ACCESS_DENIED = 1
DEBUG_ENABLED = 2
domainCombiner = null
context = class java.security.ProtectionDomain[6]
authorizeState = 1
containPrivilegedContext = true
callerPD = null
doPrivilegedAcc = null
isLimitedContext = false
limitedPerms = null
nextStackAcc = null
debugHasCodebase = 0
createAccessControlContext = class java.security.SecurityPermission#144346a6
getDomainCombiner = class java.security.SecurityPermission#1e2b633
DEBUG_ACCESS = 1
DEBUG_ACCESS_STACK = 2
DEBUG_ACCESS_DOMAIN = 4
DEBUG_ACCESS_FAILURE = 8
DEBUG_ACCESS_THREAD = 16
DEBUG_ALL = 255
ch = class com.ibm.ws.security.jaas.common.callback.AuthenticationDataCallbackHandler#e6f88e48
authenticationData = class com.ibm.ws.security.authentication.WSAuthenticationData#940f74df
serialVersionUID = 2506413936667138927
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent#9d995d8d
subject = class javax.security.auth.Subject#4fd00d3b
serialVersionUID = -8308522755600156056
principals = class java.util.Collections$SynchronizedSet#918c4d68
serialVersionUID = 487447009682186044
serialVersionUID = 3053995032091335093
c = class javax.security.auth.Subject$SecureSet#98e77777
mutex = class java.util.Collections$SynchronizedSet#918c4d68
pubCredentials = class java.util.Collections$SynchronizedSet#b8dc5642
serialVersionUID = 487447009682186044
serialVersionUID = 3053995032091335093
c = class javax.security.auth.Subject$SecureSet#b81d152c
mutex = class java.util.Collections$SynchronizedSet#b8dc5642
privCredentials = class java.util.Collections$SynchronizedSet#8392c6ce
serialVersionUID = 487447009682186044
serialVersionUID = 3053995032091335093
c = class javax.security.auth.Subject$SecureSet#7d04c77c
mutex = class java.util.Collections$SynchronizedSet#8392c6ce
readOnly = false
combiner_constructor = class java.lang.reflect.Constructor#31c1f68b
clazz = class java.lang.Class#385cf9fe
slot = 0
parameterTypes = class java.lang.Class[1]
exceptionTypes = class java.lang.Class[0]
modifiers = 1
signature = null
genericInfo = null
annotations = null
parameterAnnotations = null
constructorAccessor = null
root = class java.lang.reflect.Constructor#b025ef5e
hasRealParameterData = false
parameters = null
declaredAnnotations = null
ACCESS_PERMISSION = class java.lang.reflect.ReflectPermission#e14510
override = false
reflectionFactory = class sun.reflect.ReflectionFactory#1f53b8fe
securityCheckCache = null
sysClassLoader = class sun.misc.Launcher$AppClassLoader#5c7b92a6
$assertionsDisabled = true
ucp = class sun.misc.URLClassPath#678cfb6
acc = class java.security.AccessControlContext#44339c2
sharedClassURLClasspathHelper = class com.ibm.oti.shared.SharedClassURLClasspathHelperImpl#ce023546
sharedClassMetaDataCache = class java.net.URLClassLoader$SharedClassMetaDataCache#31398506
closeables = class java.util.WeakHashMap#d9032981
showClassLoadingFor = class java.util.Vector#fddc4dab
showLoadingMessages = false
showClassLoadingProperty = "ibm.cl.verbose"
initialized = true
pdcache = class java.util.HashMap#f4e33023
debug = null
defaultCodeSource = class java.security.CodeSource#e46272ce
bootstrapClassLoader = class com.ibm.oti.vm.BootstrapClassLoader#f246447a
DELEGATING_CL = "sun.reflect.DelegatingClassLoader"
isDelegatingCL = false
applicationClassLoader = class sun.misc.Launcher$AppClassLoader#5c7b92a6
initSystemClassLoader = false
isAssertOptionFound = false
vmRef = 140708229739536
parent = class sun.misc.Launcher$ExtClassLoader#2c38d5bf
checkAssertionOptions = false
assertionLock = class java.lang.ClassLoader$AssertionLock#454f8a3d
defaultAssertionStatus = false
packageAssertionStatus = null
classAssertionStatus = null
packages = class java.util.Hashtable#a465656b
lazyInitLock = class java.lang.ClassLoader$LazyInitLock#79b1b5be
classSigners = null
packageSigners = class java.util.Hashtable#5f77b72c
emptyCertificates = class java.security.cert.Certificate[0]
defaultProtectionDomain = null
parallelCapableCollection = class java.util.Collections$SynchronizedMap#7018affb
classNameBasedLock = class java.util.Hashtable#6a5d7e4b
isParallelCapable = true
EMPTY_PACKAGE_ARRAY = class java.lang.Package[0]
methodTypeFromMethodDescriptorStringCache = null
allowArraySyntax = false
lazyClassLoaderInit = true
specialLoaderInited = true
internalAnonClassLoader = class java.lang.InternalAnonymousClassLoader#610cbd9f
getSub = null
doAsPA = null
doAsPEA = null
doAsPPA = null
doAsPPEA = null
overrideActive = false
PRINCIPAL_SET = 1
PUB_CREDENTIAL_SET = 2
PRIV_CREDENTIAL_SET = 3
NULL_PD_ARRAY = class java.security.ProtectionDomain[0]
sharedState = class java.util.HashMap#11e08545
serialVersionUID = 362498820763181265
DEFAULT_INITIAL_CAPACITY = 16
MAXIMUM_CAPACITY = 1073741824
DEFAULT_LOAD_FACTOR = 0.75
TREEIFY_THRESHOLD = 8
UNTREEIFY_THRESHOLD = 6
MIN_TREEIFY_CAPACITY = 64
table = class java.util.HashMap$Node[16]
Node[0] = null
Node[1] = null
Node[2] = null
Node[3] = null
Node[4] = null
Node[5] = class java.util.HashMap$Node#53a7d891
Node[6] = null
Node[7] = null
Node[8] = null
Node[9] = null
Node[10] = null
Node[11] = null
Node[12] = null
Node[13] = null
Node[14] = null
Node[15] = null
entrySet = null
size = 1
modCount = 1
threshold = 12
loadFactor = 0.75
keySet = null
values = null
options = class java.util.Collections$UnmodifiableMap#f37b6503
serialVersionUID = -1034234728574286014
m = class java.util.Collections$UnmodifiableMap#ca3a3403
serialVersionUID = -1034234728574286014
m = class java.util.HashMap#8bc20fb
keySet = null
entrySet = null
values = null
keySet = null
entrySet = null
values = null
temporarySubject = null
serialVersionUID = -8873301121271047884
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent#10c9a509
strings[0] = "TraceComponent[com.ibm.ws.security.jaas.common.modules.CommonLoginModule,class com.ibm.ws.security.jaas.common.modules.CommonLoginModule,[security],com.ibm.ws.security.jaas.common.internal.resources.JAASCommonMessages,null]"
I wan't get icinga2 notification history from db.
like timestamp1 object1 state->DOWN, call notifycommand1 send to user1.
main table icinga_notifications is ok.
but nothing in icinga_contactnotificationmethods and icinga_contact_notificationcommands.
Also, no data in icinga_logentries.
Do I make any mistake in config or what config can make this occur?
icinga2 version: r2.8.4
My ido_mysql config:
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
host = "xxx"
port = xxx
user = "xxx"
password = "xxx"
database = "xxx"
table_prefix = "icinga_"
instance_name = "default"
enable_ha = true
cleanup = {
acknowledgements_age = 1209600
commenthistory_age = 1209600
contactnotificationmethods_age = 1209600
contactnotifications_age = 1209600
downtimehistory_age = 1209600
eventhandlers_age = 1209600
externalcommands_age = 1209600
flappinghistory_age = 1209600
hostchecks_age = 1209600
logentries_age = 1209600
notifications_age = 1209600
processevents_age = 1209600
servicechecks_age = 1209600
statehistory_age = 1209600
systemcommands_age = 1209600
}
}
https://icinga.com/docs/icinga1/latest/en/db_model.html
Document db model can't match mine.
I'm using Spring Integration JMS 5.1.3 with ActiveMQ, and I found an error with mapping priority:
java.lang.IllegalArgumentException: The 'priority' header value must be a Number.
at org.springframework.util.Assert.isTrue(Assert.java:118) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.integration.IntegrationMessageHeaderAccessor.verifyType(IntegrationMessageHeaderAccessor.java:177) ~[spring-integration-core-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.messaging.support.MessageHeaderAccessor.setHeader(MessageHeaderAccessor.java:305) ~[spring-messaging-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.messaging.support.MessageHeaderAccessor.lambda$copyHeaders$0(MessageHeaderAccessor.java:396) ~[spring-messaging-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at java.util.HashMap.forEach(HashMap.java:1289) ~[na:1.8.0_181]
at org.springframework.messaging.support.MessageHeaderAccessor.copyHeaders(MessageHeaderAccessor.java:394) ~[spring-messaging-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.integration.support.MessageBuilder.copyHeaders(MessageBuilder.java:179) ~[spring-integration-core-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.integration.support.MessageBuilder.copyHeaders(MessageBuilder.java:48) ~[spring-integration-core-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.integration.jms.ChannelPublishingJmsMessageListener.onMessage(ChannelPublishingJmsMessageListener.java:327) ~[spring-integration-jms-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736) ~[spring-jms-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696) ~[spring-jms-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) ~[spring-jms-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318) [spring-jms-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257) [spring-jms-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1189) [spring-jms-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1179) [spring-jms-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1076) [spring-jms-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]
My message header as following:
I have disabled the inbound message header for Priority:
#Bean
public DefaultJmsHeaderMapper jmsHeaderMapper() {
final DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
{
mapper.setMapInboundDeliveryMode(true);
mapper.setMapInboundExpiration(true);
mapper.setMapInboundPriority(false);
}
return mapper;
}
Is there any resolution for this issue ?
The inbound message in DEBUG log:
2019-03-01 09:51:51.278 DEBUG 4224 --- [sage-listener-1] .i.j.ChannelPublishingJmsMessageListener : converted JMS Message [ActiveMQTextMessage {commandId = 19, responseRequired = true, messageId = ID:hot-srv-wso2-01-44620-1551368625113-1:4:3:1:1, originalDestination = null, originalTransactionId = null, producerId = ID:hot-srv-wso2-01-44620-1551368625113-1:4:3:1, destination = queue://extraction-request, transactionId = null, expiration = 0, timestamp = 1551408495720, arrival = 0, brokerInTime = 1551408705168, brokerOutTime = 1551408705172, correlationId = ID:hot-srv-wso2-01-44620-1551368625113-1:3:3:1:1, replyTo = queue://extraction-response, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = null, marshalledProperties = org.apache.activemq.util.ByteSequence#67153d1f, dataStructure = null, redeliveryCounter = 6, size = 0, properties = {Connection=Keep-Alive, User-Agent=Apache-HttpClient/4.1.1 (java 1.5), Host=10.10.15.235:8280, Accept-Encoding=gzip,deflate, jms_type=vn.sps.ias.domain.Response, priority=4, JMS_DESTINATION=ReqOutput, JMS_REPLY_TO=ReqROutput, Content-Length=38, JMS_REDELIVERED=false, Content-Type=application/json, timestamp=1551408705049}, readOnlyProperties = true, readOnlyBody = true, droppable = false, jmsXGroupFirstForConsumer = false, text = {"text":"1 was processed"}}] to integration Message payload []
For me, this problem occurred when I used the header "priority" in a custom message.
MessageBuilder.withPayload(val).setHeader("priority", true).build();
It seems as "priority" is a header value you must not use.
Changing to
MessageBuilder.withPayload(val).setHeader("prio", true).build();
solved the problem for me.