profile
viewpoint

garyrussell/developer.github.com 1

GitHub API documentation

garyrussell/aggregator 0

The Spring Cloud Stream Aggregator Application Starter

garyrussell/asciidoctor-gradle-plugin 0

A Gradle plugin that uses Asciidoctor via JRuby to process AsciiDoc source files within the project.

garyrussell/asciidoctorj 0

:coffee: Java bindings for Asciidoctor. Asciidoctor on the JVM!

garyrussell/californium 0

Californium project

garyrussell/core 0

Core components shared by other projects in the app starters organization

garyrussell/dataflow.spring.io 0

Microsite for Spring Cloud Data Flow

push eventspring-projects/spring-amqp

Gary Russell

commit sha 8622db9ee67904f596a95fb116a2f6c2fc7e9830

GH-1162: Reinstate GH-1148 Log4j Appender Change Resolves https://github.com/spring-projects/spring-amqp/issues/1162 Revert "Revert "GH-1148: Revert Log4j Appender Change"" This reverts commit 7af0f90f0a44316f211d8f8b36d7699210b90e61. Upgrade SF to 5.2.4.

view details

push time in 14 hours

issue closedspring-projects/spring-amqp

Revert Log4j Appender Change

Re-revert per this: https://github.com/spring-projects/spring-amqp/pull/1154 after SF 5.2.4 is available,

closed time in 14 hours

garyrussell

delete branch garyrussell/spring-amqp

delete branch : replyPP

delete time in 14 hours

pull request commentspring-projects/spring-amqp

Add @RabbitListener replyPostProcessor

Doh; repushed.

garyrussell

comment created time in 16 hours

pull request commentspring-projects/spring-amqp

Add @RabbitListener replyPostProcessor

Doh; repushed.

garyrussell

comment created time in 16 hours

push eventgaryrussell/spring-amqp

Gary Russell

commit sha 242eada0af370a96159c0b1437e72da9779e56b7

Add @RabbitListener replyPostProcessor - allow customization of the reply message based on the request message.

view details

push time in 16 hours

pull request commentspring-projects/spring-amqp

Add @KafkaListener replyPostProcessor

Doh

garyrussell

comment created time in 16 hours

PR opened spring-projects/spring-amqp

Add @KafkaListener replyPostProcessor
  • allow customization of the reply message based on the request message.
+155 -12

0 comment

10 changed files

pr created time in 16 hours

push eventgaryrussell/spring-amqp

Gary Russell

commit sha 19779bc258be99325833bf45de8bf060f96cbe18

Add @KafkaListener replyPostProcessor - allow customization of the reply message based on the request message.

view details

push time in 16 hours

create barnchgaryrussell/spring-amqp

branch : replyPP

created branch time in 16 hours

push eventspring-projects/spring-integration

Artem Bilan

commit sha 87c8e47a886c74e7e7622f8dbee22fd30c0a8a55

GH-3192: pub-sub DSL for broker-backed channels (#3193) * GH-3192: pub-sub DSL for broker-backed channels Fixes https://github.com/spring-projects/spring-integration/issues/3192 * Introduce a `BroadcastCapableChannel` abstract to indicate those `SubscribableChannel` implementations which can provide a pub-sub functionality * Implement a `BroadcastCapableChannel` in broker-baked channels with pub-sub option * Introduce a `BaseIntegrationFlowDefinition.publishSubscribeChannel()` based on the `BroadcastCapableChannel` and `BroadcastPublishSubscribeSpec` to let to configure sub-flow subscribers in fluent manner * * Add some JavaDocs and document new feature * * Show the channel bean definition in the doc * Fix typo

view details

push time in 18 hours

PR merged spring-projects/spring-integration

GH-3192: pub-sub DSL for broker-backed channels

Fixes https://github.com/spring-projects/spring-integration/issues/3192

  • Introduce a BroadcastCapableChannel abstract to indicate those SubscribableChannel implementations which can provide a pub-sub functionality
  • Implement a BroadcastCapableChannel in broker-baked channels with pub-sub option
  • Introduce a BaseIntegrationFlowDefinition.publishSubscribeChannel() based on the BroadcastCapableChannel and BroadcastPublishSubscribeSpec to let to configure sub-flow subscribers in fluent manner

<!-- Thanks for contributing to Spring Integration. Please provide a brief description of your pull-request and reference any related issue numbers (prefix references with #).

See the Contributor Guidelines for more information. -->

+265 -63

2 comments

11 changed files

artembilan

pr closed time in 18 hours

issue closedspring-projects/spring-integration

DSL improvements for broker-backed pub/sub channels.

Core (in-memory) pub/sub channels can be configured with in-line subscriptions:

.publishSubscribeChannel(c -> c
		.subscribe(sf -> sf.handle(
				kafkaMessageHandler(producerFactory(), TEST_TOPIC1)
						.timestampExpression("T(Long).valueOf('1487694048633')"),
				e -> e.id("kafkaProducer1")))
		.subscribe(sf -> sf.handle(
				kafkaMessageHandler(producerFactory(), TEST_TOPIC2)
						.timestamp(m -> 1487694048644L),
				e -> e.id("kafkaProducer2")))
)

Message broker-backed pub/sub channels have the same semantics as in-memory pub/sub in an application generally (distribution to multiple subscribers) but there is no support for in-line subscriptions in the DSL.

It may be difficult/impossible to support but we should at least explore the possibility.

closed time in 18 hours

garyrussell

issue openedspring-projects/spring-kafka

@KafkaListener reply type Message<?> improvement

When a kafka listener reply type is message; check for the TOPIC and CORRELATION_ID headers and populate them if necessary.

created time in 18 hours

delete branch garyrussell/spring-kafka

delete branch : GH-1397

delete time in 19 hours

Pull request review commentspring-projects/spring-integration

GH-3192: pub-sub DSL for broker-backed channels

 public IntegrationFlow subscribersFlow() { You can achieve the same result with separate `IntegrationFlow` `@Bean` definitions, but we hope you find the sub-flow style of logic composition useful. We find that it results in shorter (and so more readable) code. +Starting with version 5.3, a `BroadcastCapableChannel`-based `publishSubscribeChannel()` implementation is provided to configure sub-flow subscribers on the broker-backed message channels.+For example we now can configure several subscribers as sub-flows on the `Jms.publishSubscribeChannel()`:++====+[source,java]+----+@Bean+public BroadcastCapableChannel jmsPublishSubscribeChannel() {+    return Jms.publishSubscribeChannel(jmsConnectionFactory())

Shouldn't we show the cast here? Or is your intention to fix the TODO in JmsTests?

artembilan

comment created time in 19 hours

Pull request review commentspring-projects/spring-integration

GH-3192: pub-sub DSL for broker-backed channels

 public IntegrationFlow subscribersFlow() { You can achieve the same result with separate `IntegrationFlow` `@Bean` definitions, but we hope you find the sub-flow style of logic composition useful. We find that it results in shorter (and so more readable) code. +Starting with version 5.3, a `BroadcastCapableChannel`-based `publishSubscribeChannel()` implementation is provided to configure sub-flow subscribers on the broker-backed message channels.

Remove the - on broker-backed ....

artembilan

comment created time in 19 hours

issue openedspring-cloud/spring-cloud-stream-binder-kafka

Do not propagate "internal" headers to output dest

  • deliveryAttempt
  • scst_nativeHeadersPresent

created time in 20 hours

issue openedspring-cloud/spring-cloud-stream-binder-rabbit

Do not propagate "internal" headers

  • sourceData
  • deliveryAttempt
  • ...

created time in 20 hours

PR opened spring-projects/spring-kafka

GH-1397: Docs for S-I-K Channels

Resolves https://github.com/spring-projects/spring-kafka/issues/1397

+118 -0

0 comment

1 changed file

pr created time in 2 days

create barnchgaryrussell/spring-kafka

branch : GH-1397

created branch time in 2 days

delete branch garyrussell/spring-kafka

delete branch : GH-1388

delete time in 2 days

pull request commentspring-projects/spring-amqp

Always default to TLSv1.2

Yes, sorry - re-pushed.

garyrussell

comment created time in 2 days

push eventgaryrussell/spring-amqp

Gary Russell

commit sha 559e868d5194dde56fb7dbc8f9fb9e5c254dc957

Always default to TLSv1.2 Resolves https://github.com/spring-projects/spring-amqp/issues/1169 Previously, the default was TLSv1.2 if the context was created by the amqp-client, but 1.1 if the context was created by the factory bean.

view details

push time in 2 days

pull request commentspring-projects/spring-integration

GH-3192: pub-sub DSL for broker-backed channels

LGTM; thanks.

artembilan

comment created time in 2 days

issue openedspring-projects/spring-kafka

Add docs for SIK channels

https://github.com/spring-projects/spring-integration-kafka/pull/297

created time in 2 days

PR closed spring-projects/spring-amqp

Default to TLS 1.2

TLS 1.1 is deprecated but most software today

+2 -2

3 comments

1 changed file

carlhoerberg

pr closed time in 2 days

pull request commentspring-projects/spring-amqp

Default to TLS 1.2

@carlhoerberg Thanks for the contribution!

Replacing this with https://github.com/spring-projects/spring-amqp/pull/1171 which provides a more consistent solution and adds a test.

carlhoerberg

comment created time in 2 days

PR opened spring-projects/spring-amqp

Always default to TLSv1.2

Previously, the default was TLSv1.2 if the context was created by the amqp-client, but 1.1 if the context was created by the factory bean.

+31 -5

0 comment

4 changed files

pr created time in 2 days

push eventgaryrussell/spring-amqp

Gary Russell

commit sha 1263cdd3486422785ed0eab70ab1a9356d5b7105

Always default to TLSv1.2 Previously, the default was TLSv1.2 if the context was created by the amqp-client, but 1.1 if the context was created by the factory bean.

view details

push time in 2 days

push eventgaryrussell/spring-amqp

Gary Russell

commit sha 63b03e6dad47f5dcafbe8fef0912d7fa4e828538

Always default to TLSv1.2 Previously, the default was TLSv1.2 if the context was created by the admin-client, but 1.1 if the context was created by the factory bean.

view details

push time in 2 days

create barnchgaryrussell/spring-amqp

branch : ssl

created branch time in 2 days

pull request commentspring-projects/spring-amqp

Default to TLS 1.2

After further review, this is indeed required because this default is used in some cases.

Sorry for the noise and confusion.

carlhoerberg

comment created time in 2 days

push eventgaryrussell/spring-integration-kafka

Gary Russell

commit sha 74cf1b3b68823d12293962a0c091282ededbc965

* Polishing and XML support

view details

push time in 2 days

delete branch garyrussell/spring-amqp

delete branch : GH-1166

delete time in 5 days

issue openedspring-projects/spring-integration

DSL improvements for broker-backed pub/sub channels.

Core (in-memory) pub/sub channels can be configured with in-line subscriptions:

.publishSubscribeChannel(c -> c
		.subscribe(sf -> sf.handle(
				kafkaMessageHandler(producerFactory(), TEST_TOPIC1)
						.timestampExpression("T(Long).valueOf('1487694048633')"),
				e -> e.id("kafkaProducer1")))
		.subscribe(sf -> sf.handle(
				kafkaMessageHandler(producerFactory(), TEST_TOPIC2)
						.timestamp(m -> 1487694048644L),
				e -> e.id("kafkaProducer2")))
)

Message broker-backed pub/sub channels have the same semantics as in-memory pub/sub in an application generally (distribution to multiple subscribers) but there is no support for in-line subscriptions in the DSL.

It may be difficult/impossible to support but we should at least explore the possibility.

created time in 5 days

push eventgaryrussell/spring-integration-kafka

Gary Russell

commit sha b20896e31f8415710cbfa38071a6d26b8fed2aa9

* Add DSL support

view details

push time in 5 days

push eventspring-projects/spring-integration

Artem Bilan

commit sha 50ac603d6c14563c1c46330be5915d32c8570fa5

GH-3180: Add encoding-mode to WS outbound gateway (#3191) * GH-3180: Add encoding-mode to WS outbound gateway Fixes https://github.com/spring-projects/spring-integration/issues/3180 * Deprecate `encode-uri` in favor of newly introduced `encoding-mode` * Add new property to XML and DSL configurations * Fix tests according a new behavior * Document the feature * Fix docs for deprecated `encode-uri` * Mention also WS from `http.adoc` * * Fix typos in docs

view details

push time in 5 days

PR merged spring-projects/spring-integration

Reviewers
GH-3180: Add encoding-mode to WS outbound gateway

Fixes https://github.com/spring-projects/spring-integration/issues/3180

  • Deprecate encode-uri in favor of newly introduced encoding-mode
  • Add new property to XML and DSL configurations
  • Fix tests according a new behavior
  • Document the feature
  • Fix docs for deprecated encode-uri
  • Mention also WS from http.adoc

<!-- Thanks for contributing to Spring Integration. Please provide a brief description of your pull-request and reference any related issue numbers (prefix references with #).

See the Contributor Guidelines for more information. -->

+135 -87

1 comment

12 changed files

artembilan

pr closed time in 5 days

issue closedspring-projects/spring-integration

Consider to use a DefaultUriBuilderFactory.EncodingMode for the AbstractWebServiceOutboundGateway instead of plain boolean encodeUri

Similar solution exists already for AbstractHttpRequestExecutingMessageHandler. See its setEncodingMode(DefaultUriBuilderFactory.EncodingMode encodingMode)

closed time in 5 days

artembilan

Pull request review commentspring-projects/spring-integration

GH-3180: Add encoding-mode to WS outbound gateway

 If you supply a `DestinationProvider`, variable substitution is not supported an  By default, the URL string is encoded (see https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html[`UriComponentsBuilder`]) to the URI object before sending the request. In some scenarios with a non-standard URI, it is undesirable to perform the encoding.-Since version 4.1, the `<ws:outbound-gateway/>` element provides an `encode-uri` attribute.-To disable encoding the URL, set this attribute `false` (it defaults to `true`).+The `<ws:outbound-gateway/>` element provides an provide an `encoding-mode` attribute.

provides an provide an ??

Should be just "provides an `en ..."

artembilan

comment created time in 5 days

Pull request review commentspring-projects/spring-integration

GH-3180: Add encoding-mode to WS outbound gateway

 If you wish to partially encode some of the URL, use an `expression` within a `< ====  With Java DSL this option can be controlled by the `BaseHttpMessageHandlerSpec.encodingMode()` option.-Same configuration applies for similar outbound components in the <<./webflux.adoc/[webflux,WebFlux module>>.+Same configuration applies for similar outbound components in the <<./webflux.adoc#webflux,WebFlux module>> and <<./ws.adoc#ws,Web Services module>>.

s/Same/The same/

artembilan

comment created time in 5 days

Pull request review commentspring-projects/spring-integration

GH-3180: Add encoding-mode to WS outbound gateway

 See <<./amqp.adoc#amqp-inbound-channel-adapter,AMQP Inbound Channel Adapter>> The `encodeUri` property on the `AbstractHttpRequestExecutingMessageHandler` has been deprecated in favor of newly introduced `encodingMode`. See `DefaultUriBuilderFactory.EncodingMode` JavaDocs and <<./http.adoc#http-uri-encoding,Controlling URI Encoding>> for more information. This also affects `WebFluxRequestExecutingMessageHandler`, respective Java DSL and XML configuration.+Same option is added into an `AbstractWebServiceOutboundGateway`.

s/Same/The same/

artembilan

comment created time in 5 days

Pull request review commentspring-projects/spring-integration

GH-3180: Add encoding-mode to WS outbound gateway

 public void testHttpUriVariables() { 		assertThatExceptionOfType(MessagingException.class) 				.isThrownBy(() -> this.inputHttp.send(message)) 				.withCauseInstanceOf(WebServiceIOException.class); // offline-		assertThat(uri.get()).isEqualTo("http://localhost/spring-integration?param=test1%20&%20test2");+		assertThat(uri.get()).isEqualTo("http://localhost/spring-integration?param=test1%20%26%20test2");

Wow - looks like this was a bug! Looks like this should always have been encoded.

artembilan

comment created time in 5 days

PR opened spring-projects/spring-integration-kafka

GH-296: Add Kafka-backed MessageChannels

Resolves https://github.com/spring-projects/spring-integration-kafka/issues/296

DSL and XML to follow after initial review

+653 -0

0 comment

5 changed files

pr created time in 5 days

create barnchgaryrussell/spring-integration-kafka

branch : GH-296

created branch time in 5 days

issue commentspring-projects/spring-amqp

Enable TLS v.1.2.

That is correct; but that logic is already in place due to the sslAlgorithmSet being true only if the user actually calls the setter - the default on the field in this class is never used.

johanrhodin

comment created time in 5 days

pull request commentspring-projects/spring-amqp

Default to TLS 1.2

Actually, no, this change is not really needed because the default here is never used. The client picks the default. We should clean it up though to remove the confusion.

carlhoerberg

comment created time in 5 days

Pull request review commentspring-projects/spring-amqp

Default to TLS 1.2

  	private String trustStoreType; -	private String sslAlgorithm = TLS_V1_1;+	private String sslAlgorithm = TLS_V1_2;

We should simply remove the default; and remove the sslAlgorithmSet boolean; then use useSSlProtocol() if this.sslAgorithm is not null.

https://github.com/spring-projects/spring-amqp/blob/f7b7bedefc3de6149d5d1222c3c30d6eac40d6e2/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/RabbitConnectionFactoryBean.java#L732-L737

However, unfortunately, we can't merge this until we switch the master branch to 2.3.

carlhoerberg

comment created time in 5 days

issue commentspring-projects/spring-amqp

Enable TLS v.1.2.

We can simply remove the default and let the amqp-client select it's own preferred default.

https://github.com/spring-projects/spring-amqp/blob/f7b7bedefc3de6149d5d1222c3c30d6eac40d6e2/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/RabbitConnectionFactoryBean.java#L732-L737

johanrhodin

comment created time in 5 days

issue commentspring-projects/spring-amqp

Enable TLS v.1.2.

?

You can already set your own version.

https://github.com/spring-projects/spring-amqp/blob/f7b7bedefc3de6149d5d1222c3c30d6eac40d6e2/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/RabbitConnectionFactoryBean.java#L184-L191

If you mean change the default, we can do that in a future release.

johanrhodin

comment created time in 5 days

issue commentspring-projects/spring-integration

Consider adding Timeout to Webflux.outboundGateway in DSL

@artembilan is more familiar with Reactor than I so I defer to him on this one.

sirimamilla

comment created time in 5 days

pull request commentspring-projects/spring-integration

GH-3182: Properly reset bean in the MockIntCtx

Cherry-picked as 4e4e8db17410a7127e1416517a0ff25919f13211

artembilan

comment created time in 5 days

push eventspring-projects/spring-integration

Artem Bilan

commit sha 4e4e8db17410a7127e1416517a0ff25919f13211

GH-3182: Properly reset bean in the MockIntCtx (#3190) * GH-3182: Properly reset bean in the MockIntCtx Fixes https://github.com/spring-projects/spring-integration/issues/3182 The `MockIntegrationContext.resetBeans()` doesn't really restore a state of endpoint beans: the handle/source is applied only after start for that endpoint * Stop endpoints in the `MockIntegrationContext.resetBeans()` is they are running currently * Start them back only if their `autoStartup == true` * Clear only those beans which names are provided for the `resetBeans()` **Cherry-pick to 5.2.x** * * Ensure that only provided beans are reset

view details

push time in 5 days

delete branch garyrussell/spring-integration

delete branch : GH-2818

delete time in 5 days

push eventspring-projects/spring-integration

Artem Bilan

commit sha b38c9e16e804d0dd920c01432de3f5d1a04ff1e7

GH-3182: Properly reset bean in the MockIntCtx (#3190) * GH-3182: Properly reset bean in the MockIntCtx Fixes https://github.com/spring-projects/spring-integration/issues/3182 The `MockIntegrationContext.resetBeans()` doesn't really restore a state of endpoint beans: the handle/source is applied only after start for that endpoint * Stop endpoints in the `MockIntegrationContext.resetBeans()` is they are running currently * Start them back only if their `autoStartup == true` * Clear only those beans which names are provided for the `resetBeans()` **Cherry-pick to 5.2.x** * * Ensure that only provided beans are reset

view details

push time in 5 days

PR merged spring-projects/spring-integration

GH-3182: Properly reset bean in the MockIntCtx

Fixes https://github.com/spring-projects/spring-integration/issues/3182

The MockIntegrationContext.resetBeans() doesn't really restore a state of endpoint beans: the handle/source is applied only after start for that endpoint

  • Stop endpoints in the MockIntegrationContext.resetBeans() is they are running currently
  • Start them back only if their autoStartup == true
  • Clear only those beans which names are provided for the resetBeans()

Cherry-pick to 5.2.x

<!-- Thanks for contributing to Spring Integration. Please provide a brief description of your pull-request and reference any related issue numbers (prefix references with #).

See the Contributor Guidelines for more information. -->

+77 -23

0 comment

2 changed files

artembilan

pr closed time in 5 days

issue closedspring-projects/spring-integration

MockIntegrationContext.reset() does not behave as expected

Affects Version(s): 5.2.3.RELEASE using spring-boot 2.2.4.RELEASE

I am developing an application containing multiple IntegrationFlows passing messages to each other using DirectChannels.

I have created several small tests which are testing a single IntegrationFlow each. I have used MockIntegrationContext.substituteMessageHandlerFor() to capture the message once it is passed to the "output channel" of a flow.

However even though I'm calling MockIntegrationContext.reset() in an @AfterEach method, the substituted MockMessageHandlers seem to stick around until the ApplicationContext is torn down.

I have created a minimal gist demonstrating the behavior: https://gist.github.com/hgarus/0ec9714f1d381bd8404c08ddc88f55e3

The assertEquals in line 80 fails because the ArgumentCaptor receives the second message. Even though I called reset() beforehand.

I did some debugging and it seems the substitution only works, when the IntegrationConsumer is stopped before the replacement MessageHandler is assigned to the it - which is done in substituteMessageHandlerFor() (with the default autoStartup = true), but not in reset().

closed time in 5 days

hgarus

Pull request review commentspring-projects/spring-integration

GH-3182: Properly reset bean in the MockIntCtx

 else if (endpoint instanceof ReactiveStreamsConsumer) { 					else if (endpoint instanceof IntegrationConsumer) { 						directFieldAccessor.setPropertyValue(HANDLER, e.getValue()); 					}+					if (lifecycle != null && lifecycle.isAutoStartup()) {+						lifecycle.start();+					} 				}); -		this.beans.clear();+		if (!ObjectUtils.isEmpty(beanNames)) {+			for (String name : beanNames) {

Don't we need a test for this "partial" reset use case?

artembilan

comment created time in 6 days

pull request commentspring-projects/spring-kafka

Add property resolver to Kafka listener post processor

Agreed.

change the way of message listener container creation

That's already achievable with the RabbitListenerContainerFactory abstraction.

change the way of resolving property

We need to understand the exact use case.

qwe333ty

comment created time in 6 days

pull request commentspring-projects/spring-integration

GH-2818: DSL support for -ws module

Force pushed with additional commit after rebase for doc conflicts.

garyrussell

comment created time in 6 days

push eventgaryrussell/spring-integration

Artem Bilan

commit sha e9176a0a045af1137800e1951bbc8985d1554a6b

GH-3179: Document how priority is mapped into JMS Fixes https://github.com/spring-projects/spring-integration/issues/3179 * Doc polishing.

view details

Ted M. Young

commit sha 8fb201867c4f5c1053ad86793f83c4b32905f617

Fixed broken links in Whats New * Links used `.adoc/section` instead of `.adoc#section` causing links to not work. * Fixed English 'effects' to 'affects'.

view details

Gary Russell

commit sha 5789d7409fd05394e0f1fee63455f79caaf9572d

GH-2818: DSL support for -ws module Resolves https://github.com/spring-projects/spring-integration/issues/2818

view details

Gary Russell

commit sha 1575fbe37c234c24f9fa00beefba4df27366149d

* Rework to improve fluency - reduce the number of factory methods and use a different spec when an external WST is provided.

view details

Gary Russell

commit sha 4f09d5a2d6a5e504b6d13ca25d15c1586f7b969b

* Docs and address comments

view details

push time in 6 days

Pull request review commentspring-projects/spring-integration

GH-2818: DSL support for -ws module

 public void setFaultMessageResolver(FaultMessageResolver faultMessageResolver) { 		this.webServiceTemplate.setFaultMessageResolver(faultMessageResolver); 	} +	/**+	 * Specify the {@link WebServiceMessageSender} to use.+	 * @param messageSender the sender.+	 * @deprecated in favor of {@link #setMessageSenders(WebServiceMessageSender...)}+	 */+	@Deprecated 	public void setMessageSender(WebServiceMessageSender messageSender) { 		Assert.state(!this.webServiceTemplateExplicitlySet,

Doh; ok.

garyrussell

comment created time in 6 days

Pull request review commentspring-projects/spring-integration

GH-2818: DSL support for -ws module

+/*+ * Copyright 2020 the original author or authors.+ *+ * Licensed under the Apache License, Version 2.0 (the "License");+ * you may not use this file except in compliance with the License.+ * You may obtain a copy of the License at+ *+ *      https://www.apache.org/licenses/LICENSE-2.0+ *+ * Unless required by applicable law or agreed to in writing, software+ * distributed under the License is distributed on an "AS IS" BASIS,+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+ * See the License for the specific language governing permissions and+ * limitations under the License.+ */++package org.springframework.integration.ws.dsl;++import org.springframework.integration.dsl.MessagingGatewaySpec;+import org.springframework.integration.ws.AbstractWebServiceInboundGateway;+import org.springframework.integration.ws.SoapHeaderMapper;++/**+ * Base {@link MessagingGatewaySpec} for web services.+ *+ * @param <S> the target {@link BaseWsInboundGatewaySpec} implementation type.+ * @param <E> the target {@link AbstractWebServiceInboundGateway} implementation type.+ *+ * @author Gary Russell+ * @since 5.3+ *+ */+public abstract class BaseWsInboundGatewaySpec<+		S extends BaseWsInboundGatewaySpec<S, E>, E extends AbstractWebServiceInboundGateway>+	extends MessagingGatewaySpec<S, E> {++	/**+	 * Construct an instance.+	 */+	protected BaseWsInboundGatewaySpec() {+		super(null);+	}++	/**+	 * Configure the header mapper.+	 * @param headerMapper the mapper.+	 * @return the spec.+	 */+	public S headerMapper(SoapHeaderMapper headerMapper) {+		this.target.setHeaderMapper(headerMapper);+		return _this();+	}++	@Override+	protected E doGet() {+		return assemble(create());+	}++	protected abstract E create();++	protected E assemble(E gateway) {

Just for consistency with the outbound spec, in case common components are added later.

garyrussell

comment created time in 6 days

Pull request review commentspring-projects/spring-integration

GH-2818: DSL support for -ws module

+/*+ * Copyright 2020 the original author or authors.+ *+ * Licensed under the Apache License, Version 2.0 (the "License");+ * you may not use this file except in compliance with the License.+ * You may obtain a copy of the License at+ *+ *      https://www.apache.org/licenses/LICENSE-2.0+ *+ * Unless required by applicable law or agreed to in writing, software+ * distributed under the License is distributed on an "AS IS" BASIS,+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+ * See the License for the specific language governing permissions and+ * limitations under the License.+ */++package org.springframework.integration.ws.dsl;++import static org.assertj.core.api.Assertions.assertThat;+import static org.mockito.Mockito.mock;++import java.util.HashMap;+import java.util.Map;++import org.junit.jupiter.api.Test;++import org.springframework.expression.Expression;+import org.springframework.expression.common.LiteralExpression;+import org.springframework.integration.test.util.TestUtils;+import org.springframework.integration.ws.MarshallingWebServiceInboundGateway;+import org.springframework.integration.ws.MarshallingWebServiceOutboundGateway;+import org.springframework.integration.ws.SimpleWebServiceInboundGateway;+import org.springframework.integration.ws.SimpleWebServiceOutboundGateway;+import org.springframework.integration.ws.SoapHeaderMapper;+import org.springframework.oxm.Marshaller;+import org.springframework.oxm.Unmarshaller;+import org.springframework.ws.WebServiceMessageFactory;+import org.springframework.ws.client.core.FaultMessageResolver;+import org.springframework.ws.client.core.SourceExtractor;+import org.springframework.ws.client.core.WebServiceMessageCallback;+import org.springframework.ws.client.core.WebServiceTemplate;+import org.springframework.ws.client.support.destination.DestinationProvider;+import org.springframework.ws.client.support.interceptor.ClientInterceptor;+import org.springframework.ws.transport.WebServiceMessageSender;++/**+ * @author Gary Russell+ * @since 5.3+ *+ */+public class WsDslTests {

I am not sure why an integration test is necessary since these tests verify the adapters are populated properly. But I can add one if you insist.

garyrussell

comment created time in 6 days

Pull request review commentspring-projects/spring-integration

GH-2818: DSL support for -ws module

 public void setFaultMessageResolver(FaultMessageResolver faultMessageResolver) { 		this.webServiceTemplate.setFaultMessageResolver(faultMessageResolver); 	} +	/**+	 * Specify the {@link WebServiceMessageSender} to use.+	 * @param messageSender the sender.+	 * @deprecated in favor of {@link #setMessageSenders(WebServiceMessageSender...)}+	 */+	@Deprecated 	public void setMessageSender(WebServiceMessageSender messageSender) { 		Assert.state(!this.webServiceTemplateExplicitlySet,

Sorry, I missed this; but, that said, I don't understand it.

garyrussell

comment created time in 6 days

pull request commentspring-projects/spring-integration

GH-2818: DSL support for -ws module

I know force-push for a rebase doesn't notify, but I assumed force push with additional commits would - but I guess not.

In future, I'll try to remember to push the new commit; then force-push after rebasing.

garyrussell

comment created time in 6 days

pull request commentspring-projects/spring-integration

GH-2818: DSL support for -ws module

?

I pushed rework a couple of days ago - didn't you get a notification?

garyrussell

comment created time in 6 days

delete branch garyrussell/spring-integration-kafka

delete branch : txNonTx

delete time in 6 days

push eventgaryrussell/spring-integration-kafka

Gary Russell

commit sha 6baf7cba36bfbff60af5d7dbb00a9b1502154d57

* SI to 5.3.0.B-S

view details

push time in 6 days

create barnchgaryrussell/spring-integration-kafka

branch : txNonTx

created branch time in 6 days

create barnchspring-projects/spring-integration-kafka

branch : 3.2.x

created branch time in 6 days

PR opened spring-projects/spring-kafka

GH-1388: DeadLetterPR: Don't start a Tx if allowed

Resolves https://github.com/spring-projects/spring-kafka/issues/1388#issuecomment-588890911

Don't start a new transaction in the DeadLetterPublishingRecoverer if the KafkaTemplate allows it.

+120 -5

0 comment

4 changed files

pr created time in 6 days

create barnchgaryrussell/spring-kafka

branch : GH-1388

created branch time in 6 days

issue closedspring-projects/spring-integration-samples

"hi sent to MQTT, received from MQTT", Message not received!

L114: "p + ", received from MQTT"" value p (sent message) is not recieved.

return IntegrationFlows.from(mqttInbound())
	.transform(p -> p + ", received from MQTT")
	.handle(logger())
	.get();

Output

12:53:09.415 [MQTT Call: siSampleConsumer] INFO  siSample - hi sent to MQTT, received from MQTT

Should be

12:53:09.415 [MQTT Call: siSampleConsumer] INFO  siSample - hi sent to MQTT, hi received from MQTT

closed time in 6 days

Mouli-Shankar

issue commentspring-projects/spring-integration-samples

"hi sent to MQTT, received from MQTT", Message not received!

??

.transform(p -> p + ", received from MQTT")

if p is "hi sent to MQTT` then what you are getting is completely what you should expect.

The sample is simply concatenating ", received from MQTT" to the inbound message. There is no logic to parse out the "hi" part.

Mouli-Shankar

comment created time in 6 days

issue commentspring-projects/spring-integration-samples

"hi sent to MQTT, received from MQTT", Message not received!

??

.transform(p -> p + ", received from MQTT")

if p is "hi sent to MQTT` then what you are getting is completely what you should expect.

You are simply concatenating ", received from MQTT" to the inbound message.

Mouli-Shankar

comment created time in 6 days

issue commentspring-projects/spring-kafka

Spring kafka should handle some fatal exceptions like InvalidPidMappingException, UnknownProducerIdException.

@bartosz-stasikowski-projectdrgn Next week - see https://github.com/spring-projects/spring-kafka/milestones for the planned release schedules.

bartosz-stasikowski-projectdrgn

comment created time in 6 days

issue commentspring-projects/spring-kafka

Cannot load keystore when running java -jar *.jar spring boot application

Yes, that should work ok for you. I don't think there is any other choice, given the limitations of the Kafka clients.

aalmazanarbs

comment created time in 6 days

IssuesEvent

issue commentspring-projects/spring-kafka

Consider supporting non-transactional producer in a transactional template

Good catch; will make it optional there too.

garyrussell

comment created time in 6 days

issue commentspring-projects/spring-amqp

Time to reconnect to channel is too fast

@jonyto123 Don't ask questions on old closed issues.

Don't ask questions on GitHub at all - ask on Stack Overflow, tagged with [spring-amqp]. And provide much more detail.

ronansayao

comment created time in 6 days

PR closed spring-projects/spring-integration

GH-3179: Document how priority is mapped into JMS

Fixes https://github.com/spring-projects/spring-integration/issues/3179

<!-- Thanks for contributing to Spring Integration. Please provide a brief description of your pull-request and reference any related issue numbers (prefix references with #).

See the Contributor Guidelines for more information. -->

+7 -2

2 comments

1 changed file

artembilan

pr closed time in 7 days

pull request commentspring-projects/spring-integration

GH-3179: Document how priority is mapped into JMS

Merged as e9176a0a045af1137800e1951bbc8985d1554a6b

artembilan

comment created time in 7 days

delete branch garyrussell/spring-integration

delete branch : GH-3179

delete time in 7 days

push eventspring-projects/spring-integration

Artem Bilan

commit sha e9176a0a045af1137800e1951bbc8985d1554a6b

GH-3179: Document how priority is mapped into JMS Fixes https://github.com/spring-projects/spring-integration/issues/3179 * Doc polishing.

view details

push time in 7 days

issue closedspring-projects/spring-integration

Priority header not mapped to JMS Message

<!-- !!! To report Security Vulnerabilities, please go to https://pivotal.io/security !!! --> Affects Version(s): 5.2.3.RELEASE

The DefaultJmsHeaderMapper copies message headers from Spring Integration Messages to JMS Messages.

According to Mapping Message Headers to and from JMS Message, the priority header should be mapped, too:

previously, the priority header was only used for outbound messages

However, this is not tested by DefaultJmsHeaderMapperTests and has been broken 5 years ago. by this statement:

https://github.com/spring-projects/spring-integration/blob/e9cfb0289ad0c19093c6c1e7efdb552b3aff8c79/spring-integration-jms/src/main/java/org/springframework/integration/jms/DefaultJmsHeaderMapper.java#L165-L166

Since priority is often a primitive (in my case, org.apache.activemq.command.Message#priority is a byte but org.springframework.integration.jms.StubTextMessage#priority also uses int), checking it for null doesn't do the trick.

Interestingly, there's also spring-jms's SimpleJmsHeaderMapper which looks almost identical but behaves correctly (in this case):

https://github.com/spring-projects/spring-framework/blob/a4179b479599c62a89b5e67dbfa0d28ad61c638b/spring-jms/src/main/java/org/springframework/jms/support/SimpleJmsHeaderMapper.java#L99

closed time in 7 days

micheljung

create barnchgaryrussell/spring-integration

branch : GH-3179

created branch time in 7 days

push eventspring-projects/spring-kafka

Gary Russell

commit sha 3c62cc301ef42f6ca1d82d18fdb458fb11552d71

GH-1353: More javadoc polishing

view details

push time in 7 days

delete branch garyrussell/spring-kafka

delete branch : GH-1353

delete time in 7 days

PR opened spring-projects/spring-kafka

GH-1353: Clarify AckMode with transactions

Resolves https://github.com/spring-projects/spring-kafka/issues/1353

AckMode is not used with transactions - clarify the semantics in docs and javadocs.

Also fix that offsets were not previously sent to the transaction with an incorrectly configured MANUAL ack mode.

+9 -3

0 comment

3 changed files

pr created time in 7 days

create barnchgaryrussell/spring-kafka

branch : GH-1353

created branch time in 7 days

delete branch garyrussell/spring-kafka

delete branch : GH-1386

delete time in 7 days

delete branch garyrussell/spring-kafka

delete branch : GH-1385

delete time in 7 days

PR opened spring-projects/spring-kafka

GH-1385: JsonDeserializer - trim trusted packages

Resolves https://github.com/spring-projects/spring-kafka/issues/1385

When configuring the trusted packages from consumer properties, trim whitespace characters.

+29 -17

0 comment

2 changed files

pr created time in 7 days

push eventgaryrussell/spring-kafka

Gary Russell

commit sha 97cd3709a1e5263cef8d660e7aab1bd7dc62710b

GH-1385: JsonDeserializer - trim trusted packages Resolves https://github.com/spring-projects/spring-kafka/issues/1385 When configuring the trusted packages from consumer properties, trim whitespace characters.

view details

push time in 7 days

create barnchgaryrussell/spring-kafka

branch : GH-1385

created branch time in 7 days

PR opened spring-projects/spring-kafka

GH-1386: Fix StreamsBuilder customization

Resolves https://github.com/spring-projects/spring-kafka/issues/1386

The builder was incorrectly customized in start(). It needs to be customized after creation so that when it is used to create KStreams elsewhere, it is already customized.

+45 -14

0 comment

2 changed files

pr created time in 7 days

more