我正在用spring构建一个卡夫卡消费者。我的配置似乎非常简单。正在使用邮件并将其保存在文件中。然而,有效载荷是神秘的,我无法获取数据(简短的“hello world”消息)
这是我访问有效负载时得到的结果(例如,当我在入站kafka和outboud文件中设置transformer bean btween时:
{test-topic={0=[[B@713c9d72, [B@7d656f90, [B@26bb8c83, [B@4b959d83 [B@5ed74e8e]}}
我的问题是:如何访问实
您好,提前感谢您检查此问题
我们有一个基于文件的spring集成(4.3.19.RELEASE)管道,在这个管道中获取、提取一个zip,并在管道中处理每个csv文件。
这些被修改,然后通过一些自定义逻辑导入数据库
问题:
在这种情况下,聚合器没有接收到预期数量的消息,并以静默方式取消该过程(不调用下一个通道/服务激活器)
spring集成管道:
读取48个CSV文件
丰富了一些标题数据
处理(使用拆分器)csv文件
更多的标题充实
多个维修激活器(一个接一个)
头值路由器->在特殊头(下面的代
有人能为您提供一个工作示例(配置)吗
我查看了“Spring集成参考手册”和github,其中提供了所有si样本,但我找不到任何相关信息。类似这样的内容:
<int:chain input-channel="inputChannel">
<int-mail:header-enricher>
<int-mail:to value="mailto"/>
<int-mail:from value="mailfrom"/&
我是Spring集成的新手,正在尝试实现file:inbound channel adapter。以下错误消息持续出现:
类路径资源[spring context.XML]的XML文档中的第18行
无效;嵌套异常为org.xml.sax.saxpasseeption;
行号:18;栏目编号:82;cvc复杂类型。3.2.2:属性
元素中不允许出现“目录”
“int:入站通道适配器”
有人知道这个错误是什么意思吗 这不是你的代码问题吗
您要求文件:入站通道适配器,但StackTrace说:
int
我正在使用sftp出站网关将文件传输到sftp。它在一定数量的上传后随机挂起。例如,假设我有20个文件要上传,它成功上传了10个文件,并挂起和阻止了所有其他进程
我通过服务激活器将文件发送给Sftp出站网关
我的集成环境如下:
<int-sftp:outbound-gateway id= "sftpOutboundGateWay" command="put" expression="payload" session-factory="sftpSessionFactory"
req
我正在使用SpringXD,我的流如下图所示,并在3节点容器上运行测试,其中1个管理节点使用rabbit作为传输
aws-s3|processor1|http-client|processor2>queue:readyQueue
我已经创建了以下点击
tap1 aws-s3>s3Queue
tap2 processor1>processorQueue1
tap3 http-client>httpQueue
我在测试中运行以下场景:
Scenario1:5个
我使用Spring集成并使用WS:OUTBOUNDGATEWAY调用web服务。我正在使用Spring Boot运行我的应用程序。当ws-outbound gateway尝试调用web服务时,出现以下异常。需要帮助吗
2016-03-15 12:53:30.351 ERROR 3040 --- [ executor-3] c.sun.xml.internal.messaging.saaj.soap : SAAJ0540: Error during saving a multipart
Spring Kafka集成是否支持Kafka 0.9?从Spring文档中,我可以看到Spring Kafka Integration 1.3.0的发布是为了支持Kafka 0.8,但对于0.9,有一个单独的新项目创建,名为Spring Kafka,该项目将由Spring Kafka Integration 2.0使用,该项目仍在开发中
我还可以使用SpringKafka集成1.3.0吗?它是否支持kafka 0.9?一旦spring kafka integration 2.0发布,它会帮助我
代码:
连接工厂
豆子:
公共连接工厂连接工厂(){
连接工厂连接工厂=
新CACHING连接工厂(主机);
connectionFactory.setVirtualHost(virtualhost);
connectionFactory.setPort(端口);
connectionFactory.setUsername(用户名);
connectionFactory.setPassword(密码);
connectionFactory.setPublisherReturns(true);
我已使用以下配置将所有本地文件发送到目标ftp服务器文件夹:
@Bean
@ServiceActivator(inputChannel = FtpDef.FTP_OUTBOUND_CHANNEL)
public MessageHandler handler() {
FtpMessageHandler handler = new FtpMessageHandler(ftpSessionFactory());
handler.setRemoteDirectoryExpression(
如何轮询上述内容,以获取用于进一步处理的有效负载HTTP客户端端点不可轮询,而是由事件驱动的。因此,例如,正如您通常从curl调用某些REST服务一样,这里也会发生同样的情况。我想,对于这个文档pulledinbound(),您有一些.handle(),并且有一些消息通道可以发送消息来触发该端点调用您的REST服务
不清楚如何处理响应,但有一种方法可以定期触发事件以调用此端点
为此,我们只能*模拟*一个入站通道适配器,该适配器可以配置一些触发策略:
@Bean
public HttpMessag
消息从拆分器到聚合器需要20分钟到,有时需要一个小时
我有聚合器发送电子邮件到smtp在批处理。有时,消息需要很长时间才能从OmniAlertsEmailSplitter到达OmniAlertsEmailAdapter
<!-- Split message into separate email messages for delivery -->
<splitter id="omniAlertsEmailSplitter"
input-channel="omni
我需要在spring集成流中将callContext对象作为线程本地注入。在jms头中接收的traceId应该在callContext对象中提取并设置,以便在项目级别配置的日志中打印出来
IntegrationFlows.from(Jms.messageDrivenChannelAdapter(connectionFactory).destination(topicName))
.log(INFO, m-> “message received for: + ((Order)m.getPay
目前,我们需要在spring集成流中处理异常
当前的解决方案是通过方面处理从任何POJO(转换器、聚合器、服务等)抛出的异常。在这些方面,将发送一条tweet,说明发生了异常。但是,这方面不包括例如Spring集成流引发的异常。也就是说,如果在中发生异常,或者返回500状态
我们需要一种方法来处理这个问题。目前我们看到,我们可以在流的开始(网关)连接一个错误通道,并在这个错误通道中发送一条tweet。然而,问题是,错误通道调用的服务中也有业务逻辑。因此,我们需要将推特(通知)和业务问题结合起来。
有没有办法在http:inbound网关上配置连接池
提前谢谢
古兹曼??请进一步解释-连接由底层servlet容器管理。??请进一步解释-连接由底层servlet容器管理。??请进一步解释-连接由底层servlet容器管理。
当我们的远程loc每天都在变化时,他们是否有办法在动态远程目录上动态轮询文件
我们正在使用SpringIntegration4.1,目前还没有;您可以通过手动连接入站适配器来实现这一点;您将需要用于SftpInboundFileSynchronizer、SftpInboundFileSynchronizingMessageSource(获取对同步器的引用)和SourcePollingChannelAdapter(获取源)的bean
然后,您可以在同步器上调用setRemoteDirectory,
我正在尝试使用Spring集成实现XML验证。我在一个月内跟踪了讨论。问题语句相同,但有一个附加参数。与其在schema location=“xyz.xsd”中硬编码值,不如为相应的传入xml或DOMSource输入动态选择适当的xsd文件。
我还关注了Gary Russell提到的地方:
不直接支持动态模式,但可以提供
使用xml validator属性的自定义XmlValidator(互操作)
排除模式位置)
一旦您对文档进行了内省,以找到您希望使用的模式
根据进行验证,只需委托给已验证的验
我在我的项目中使用spring集成。下面是我的应用程序中的流程。当我将消息发布到“domainEventChannel”时,它通过转换器,然后消息从转换器发送到inputFromTransformer通道,当消息处于链中时,它通过拆分器、转换器和过滤器。我已经配置了输出通道=“domainEventQueueChannel”,这是一个队列通道
我可以跟踪邮件直到过滤器,但它们永远不会到达队列通道
我不能从链向队列通道发送消息吗
<int:transformer ref="partition
我声明了一个可轮询的channel.request,在将通道的paylod转换为一个对象之后,我注意到一些消息被复制到ServiceActivator
我的代码如下:
<int:channel id="channel.request">
<int:queue capacity="10"/>
</int:channel>
<int:header-enricher input-channel="updateImsi.channel"
outp
下面我有一个发送消息和使用队列中消息的程序,现在我已经注释掉了发送部分,只想使用队列中的消息
现在,我想在下面的程序中启用日志记录,以便在我的c:驱动器中生成一个日志文件,并且在该日志文件中,它应该指示它在什么时间戳使用什么消息。请建议如何在下面的配置文件中配置日志记录
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xml
我需要在int file:inbound channel adapter中支持多文件名模式。
假设我想要压缩和未压缩的文件。
有人能帮助确定如何支持多个扩展吗?使用带有正则表达式的filename regex
filename-regex="^.*\.(txt|zip)$"
将filename regex与正则表达式一起使用
filename-regex="^.*\.(txt|zip)$"
动态轮询
我正在使用集成中的轮询器组件轮询s3中的文件。固定延迟为15分钟,最大消息速率为1。我这样做的原因是xd中的下游消息由于我使用http而阻塞。现在这是用于100k记录文件的文件,但当文件大小很小时,我仍然等待15分钟,尽管我可以处理得很快。现在有什么问题吗根据文件大小动态设置延迟的方法。因为我们不知道哪些文件将被轮询也知道它?根据文件大小,我将拾取或记录数,我们可以动态更改固定延迟或固定速率吗
<int:poller fixed-delay="${fixedDelay}" def
我正在尝试使用Spring集成sftp出站通道适配器将文件发送到sftp
<int-sftp:outbound-channel-adapter id="sftpOutboundAdapter" session-factory="sftpSessionFactory"channel="sftpChannel" charset="UTF-8" remote-directory="/sftp/home/sftp_foler" remote-filename-generator-expressi
我们使用SpringIntegrationAggregator来聚合给定订单的行项目列表。现在我们在数据库中存储组消息信息。但我们注意到,它使用UUID一种值作为表INT\u MESSAGE\u group表中的组键。是否可以自定义它以使用订单id(在我们的系统中始终是唯一的),这样我们就可以通过按订单id对db运行查询来解决生产环境中的聚合问题
我注意到内部it使用关联键作为组键,但不确定为什么它不使用我们的关联键(即订单id),因为我们在聚合器配置中配置了自定义关联策略
仅供参考,我们正在使
我需要获取所有未被删除但未发生的已发送邮件,但仅在mail.debug true的控制台中显示最近的邮件总数
<int:channel id="receiveChannel" />
<int-mail:imap-idle-channel-adapter id="customAdapter"
store-uri="imaps://rupak@domain.com:pass@domain.com:993/INBOX.Sent"
请告诉我们,在所有重试尝试都已用尽且我们已提供恢复回调通道时,如何[如果可能]保留标头(如回复通道)
目前,恢复回拨通道似乎没有保留异常发生前的任何标头信息
简单地说,如何使/配置可丢弃(错误消息)在恢复回拨期间(重试用尽后)保留标头信息。您需要更精确地使用您的语言,并显示您的配置。我不知道你说的“恢复回调频道”是什么意思。如果您指的是在RequestHandlerRetryAdvice中配置为ErrorMessageSendingRecoverer的错误通道,则该消息是一条ErrorMessa
我有一个类似于
IntegrationFlows.from(
Http.inboundGateway("/events")
.requestMapping(requestMappingSpec -> {
requestMappingSpec.methods(HttpMethod.POST);
requestMappingSpec.consumes(MediaType.APPLICATION_JSON_VALUE);
我正在尝试将SpringMVC(REST)层与spring集成层集成在一起,这样会有往返的流量。我希望spring集成层也能被其他几个服务使用。因此,spring集成代码必须是一个独立的jar。我应该如何实施它。
1) 在MVC项目中为SI项目创建Pom依赖项。
2) 要在服务器上运行的SI项目。SI和MVC可以在同一台服务器上,也可以在不同的服务器上。(http调用)
我更愿意这样做。其中SI项目jar作为依赖项创建。
这是如何实现的。这是一种非常常见的模式;只需将SI依赖项添加到POM中,并
pom.xml依赖项:
groovy.lang.MissingMethodException: No signature of method: static ajsc.util.AjscLogMessageService.formatExceptionDetails() is applicable for argument types: (org.springframework.beans.factory.BeanDefinitionStoreException) values: [org.sp
我有一个spring集成应用程序,它有一个带有两个订阅者的发布子频道——一个将消息发布到Kafka,另一个将消息写入文件。问题在于,将消息写入文件的服务激活器无法跟上向Kafka生成消息的其他服务激活器的速度。这会导致整体消息处理速度减慢。为了克服这个问题,我在发布子通道和写入文件的服务激活器之间添加了一个额外的层。作为转换器,只会使用消息并将消息放入filewriter使用的直接通道中。这在我的案例中提高了性能,但我想知道这是否是正确的方法?下面是配置示例:
<int:publish-s
我有一些为spring集成流编写的单元测试用例。从IDE运行单个测试用例时没有问题,但从gradle build运行所有测试用例时,一些测试用例失败
我在相关问题上找到了QC:
如果有人知道这个解决方案,请张贴
带有以下注释的单元测试:
@RunWith(SpringRunner.class)
@Import(AlarmAPIApplication.class)
@PropertySource("classpath:application.properties ")
@Fix
标签: Spring Integration
spring-integration-dslspring-integration-ftpspring-integration-jdbc
您好,我有一个集成流,它逐行分割一个文件,将每一行转换为一个POJO,然后通过JDBC出站网关将该POJO插入数据库
我想能够发送一个单一的电子邮件一旦文件的过程已经完成。
我目前在jdbcOutboundGateway之后发送到smtpFlow频道,但这是在每次插入db之后发送一封电子邮件
这是我当前的DSL流
IntegrationFlow ftpFlow() {
return IntegrationFlows.from(
ftpSource(), spec
我必须实现Spring集成,其要求是,当我收到一个请求时,我需要将其拆分并调用两个独立的web服务来处理该请求,然后从两个服务获取响应,并将其合并为一个并返回响应。我不知道该怎么做,只是想知道是否有人有线索
如果可能的话,我可以同时打电话吗?看起来你没有足够的理论知识
你需要:
分离器
聚合器
路由器
执行器通道
因此,请阅读以下文档:
的确,我缺乏理论知识,但也缺乏时间。。我只是想知道是否有可能分割我的请求,并将其同时传递给两个不同的服务
我是Spring集成的新手,在解组SOAP请求时面临这个问题。我有以下示例xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/"
version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:e
如果重新排序器配置了组超时,且组过期,则在新消息到达组或消息被丢弃时,它是否创建新组?如果被丢弃,我们可以使用丢弃的通道记录它们
提前谢谢
Guzman是,重新排序器在过期时删除组,新消息将形成新组
实际上,聚合器也是如此,但是使用Spring Integration 4.1的新选项,在超时时使组过期,您可以更改该行为
我们应该修改它,也许还可以添加到重新排序器中。嗨,阿尔塞姆!非常感谢您的快速回答!看到这一点,重新排序器上的默认processMessageGroup也不适合过期。有没有一种方法
我试图理解当我们在jdbc出站网关中使用任何insert或update语句时,commit是如何工作的,有时我们会看到进程标志没有更新,任何输入都会非常有用
<int-jdbc:outbound-gateway id="update.gateway"
request-channel="request.channel" reply-channel="reply.channel"
data-source="dataSource" request-
我看到的问题与这里所说的相同
我有多个正在运行的作业,其中的步骤使用下面定义的相同父分区hanldler'parentPartitionHandler'
我所有的作业都有类似的配置,如下所示,第二步“studentPartitionAndProcessStep”是分区步骤
<job id="studentLoadJob" xmlns="http://www.springframework.org/schema/batch"
job-repository="jobReposito
我被要求做一个原型,将使用支持Spring的JAX-WS端点的工作web服务转换为使用Spring集成,并被告知尽可能多地使用xml配置。我剥离了应用程序,直到只保留了相关的web服务元素,并根据需要创建了两个新的SpringXML配置文件。虽然它编译得很好,但当我部署到JBoss容器,然后尝试使用SoapUI调用它时,我得到一个HTTP 405响应,JBoss控制台中没有任何东西表明甚至收到了请求,尽管服务器日志表明新的网关和服务激活器已正确设置并正在运行。在我读过的任何Spring文档中,我
这是我的代码片段
@Bean
@ServiceActivator(inputChannel=“topicChannel”,outputChannel=“responseChannel”)
public Employee getEmpDetails()引发异常{
表达式查询=新的文字表达式(“{'name':'****'}”);
MongoDbMessageSource=新的MongoDbMessageSource(mongoDbFactory(),查询);
source.setEntityCla
我想从ftp读取文件并在本地存储,在本地存储后,我想用java代码处理该文件。成功处理文件后,我想将其移动到另一个目录。如何通过使用spring与ftp的集成高效地实现这一点
public class FtpFileHandler {
public File ftpFileUserHandler(@Header("timestamp") String timestamp, File file){
try {
String filename = file.getNam
我对spring集成有以下要求
接收web服务请求
创建自定义负载。(这将是service activator的输出)
在sql server中调用2个存储过程。第一个返回一个out参数。我必须使用这个out参数,以及自定义负载中的项目列表来将数据插入数据库
继续使用在步骤2中使用另一个服务激活器生成的有效负载生成响应消息
请告诉我是否可以使用jdbc存储过程出站网关实现步骤3。示例代码将非常有帮助。提前感谢…您所说的是“和Spring集成”,这是最重要的
因此,您应该调用充实子流来执行存储过程
目前,我希望将自定义任务执行器(即workmanager)配置为spring的。我尝试使用TaskExecutor属性进行配置,但它似乎不支持。
在这里,我想把它委托给服务器的线程管理,而不是使用Spring的默认任务执行器。下面是示例配置-
<jms:inbound-gateway request-destination="getQueue"
request-channel="inputChannel"
connection-factory="conn
您能告诉我如何记录int ws:outbound gateway的SOAP消息发送/接收吗
我试过了
<int-ws:outbound-gateway id="ais-outbound-gateway"
request-channel="aisRequestChannel" reply-channel="aisResponseChannel"
uri="http://localhost:8080/services/ONESHOT"
marshaller="aisM
是否有一种方法可以配置Spring集成通道,以便在发生未捕获异常时,异常时的头(如果可用)与异常对象一起发布到errorChannel
现在,我可以订阅“errorChannel”,并在那里添加非常有用的处理代码。但在错误频道,我只能得到例外;原始频道的标题丢失。我试着看这里的参考文献(),但没有成功 ErrorMessage有效负载是一个消息异常,具有两个属性原因和失败消息。标题在后者上可用
我正在开发一个使用spring集成JavaDSL发送电子邮件的服务
我有一个成批的消息,这是分裂成一个单独的消息,将成为电子邮件的集合
我遇到的问题是,如果其中一条消息抛出错误,则批处理中的其他消息将不被处理
是否有一种方法可以配置流,以便在消息引发异常时,能够正常处理异常,并处理批处理中的下一条消息
以下代码实现了我想要的功能,但我想知道是否有更简单/更好的方法来实现这一点,最好是在单个集成流中实现:
@Bean
public MessageChannel individual
当我使用zookeeper运行spring集成SFTP时:当文件metada放入metadatastore时面临问题。我已经提到了下面的代码。
下面是我的配置
<beans:bean id="compositeFilter"
class="org.springframework.integration.file.filters.ChainFileListFilter">
<beans:constructor-arg >
&
我正在收听aws kinesis流,并启用了全局和特定于通道的错误处理,如下所示
应用程序Yml
server:
port: 8090
eureka.client.enabled: false
spring:
cloud:
stream:
bindings:
MyInboundChannel:
group: myGroup
destination: awsstream
co
我使用springcloudstream来获取事件。我的问题是,我不想将事件列表发送到Source.OUTPUT,而是发送单个事件。配置单一事件来源的最佳实践是什么?我提出了以下解决方案。还有别的办法吗
@EnableBinding(Source.class)
public class SharedMailboxesPoller {
@InboundChannelAdapter(channel = "splitterChannel", poller = @Poller(fixedDelay
关于我之前在URL上的问题,我想我可能已经找到了问题的根源。
简单来说,我的要求是:
在1秒的固定延迟后轮询数据库,然后将非常有限的数据发布到Tibco EMS队列。现在,从这个EMS队列中,我必须以多线程方式完成以下任务:-我使用消息,我现在从数据库获取完整数据,我将数据转换为json格式
我的设计-
问题-
使用消息驱动通道,并发使用者值设置为5。然而,看起来只创建了一个消费者线程容器-2,并从EMS队列中提取消息。请在下面的log4j日志中查找-
2018年8月16日11:31:12077
我试图使用spring集成的MarshallingWebServiceOutboundGateway调用soap Web服务。以下是我的流程,非常简单:
@Bean
public IntegrationFlow asghar() throws Exception {
Map<String, Object> action = new HashMap<>();
action.put("ws_soapAction", "getCardTypes");
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 48 页