我已经使用 Spring Boot 很长时间了。我现在正在研究 Micronaut。
我习惯使用 Sleuth 在日志上自动打印跟踪和跨度 ID。Micronaut 中的 sleuth 相当于什么?
如果没有等效项,如何使用 Jaeger 在 Micronaut 中打印跟踪和跨度 ID?
我试图通过Camel Route在Weblogic JMS的Queue上发送消息.
我的目标是最终配置一个Route来使用来自jms队列的消息,我从之前的Route发布数据.
这是我的配置:
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://localhost:7001</prop>
<!-- opional ... -->
<prop key="java.naming.security.principal">weblogic</prop>
<prop key="java.naming.security.credentials">weblogic</prop>
</props>
</property>
</bean>
<!-- Gets a Weblogic JMS Connection factory object from JDNI Server by jndiName-->
<bean id="webLogicJmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName" value="jms/TestConnectionFactory" /> <!-- the connection factory object is store under this name -->
</bean>
<!-- Create a new WebLogic Jms Camel Component -->
<bean id="wmq" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="webLogicJmsConnectionFactory"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
我的路线看起来像这样:
from("cxfrs:bean:rsServer") …Run Code Online (Sandbox Code Playgroud) 我对此线程有一个类似的问题(尚未解决)。
我有一个Spring Boot 2 App,并有一个bootstrap.yml文件。有一个属性“ spring.data.cassandra.keyspace-name”没有被使用。我在src / main / resources下只有一个bootstrap.yml。
重要说明:如果将bootstrap.yml重命名为application.yml,则一切正常。
这看起来像一个真正的错误。有人可以确认他们也面临这个问题吗?还是我做错了什么?
bootstrap.yml的内容如下:
spring:
profiles: default
# Pretty-print JSON responses
jackson:
serialization:
indent-output: true
data:
cassandra:
contact-points: localhost
keyspace-name: samplekeyspace
Run Code Online (Sandbox Code Playgroud)
我的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.sample.org</groupId>
<artifactId>sample-data</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>cart-data</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.10</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-cassandra-reactive</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId> …Run Code Online (Sandbox Code Playgroud) 我们的代码是完全反应式的,使用 Webflux。我们想将消息发送到 Kafka 队列,并希望以被动方式进行。
我看到有一个 spring-cloud-stream-reactive 依赖项,它支持 Reactive 功能,但对于它的数据流的特定用例。
Spring Cloud Stream 还支持使用反应式 API,其中传入和传出数据作为连续数据流处理。
我知道这里有一种方法可以做到:https : //projectreactor.io/docs/kafka/release/reference/
但它看起来与 kafka 特定的库紧密耦合。我喜欢这里的松耦合。
有没有办法以我的代码不耦合到 kafka 库的方式来做到这一点?
reactive-programming project-reactor spring-cloud-stream spring-webflux
我们将 Spring Boot 版本从 2.1.6 升级到 2.2.2。在 2.1.6中的Prometheus端点中看到的某些属性在 2.2.2 中不可见。
kafka_consumer_records_consumed_total_records_totalkafka_consumer_records_lag_recordskafka_consumer_fetch_latency_max_secondskafka_consumer_bytes_consumed_total_bytes_total但是,此数据正在 MBean 中注册。
kafka_consumer_records_consumed_total_records_total示例
我错过了一些配置吗?如何将 MBean 中可用的数据导出到执行器端点 (" /prometheus")?
更新:我们在两个版本中使用的 Prometheus 版本是相同的。
1.3.1
Run Code Online (Sandbox Code Playgroud)
POM.xml(更改前)
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>actuator-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>actuator-demo</name>
<description>Spring Boot Actuator Demo Project</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!-- Micrometer Prometheus registry …Run Code Online (Sandbox Code Playgroud) spring-boot-actuator prometheus micrometer spring-micrometer prometheus-java
apache-camel ×1
jaeger ×1
jms ×1
micrometer ×1
micronaut ×1
prometheus ×1
spring ×1
spring-boot ×1
spring-jms ×1
weblogic ×1