Commit Graph

1254 Commits

Author SHA1 Message Date
Oleg Zhurakousky
e82f54d69e GH-600 Fix logic in Azure adapter to ensure proper handling of sveral functions
This also addresses re-initialization of AC when the second function is invoked
Added second function to the azure examples

Resolves #600
2021-03-11 15:26:06 +01:00
Oleg Zhurakousky
29ad49cbf6 GH-437 Pass ExecutionContext via MessageHeader
Caching it as part of ApplicationContext was not the right idea so this changes it
2021-03-10 18:53:25 +01:00
Oleg Zhurakousky
cf7a990480 Polish JsonMapper and upgrade function dependency in azure adapter 2021-03-10 16:31:17 +01:00
Oleg Zhurakousky
ab84bb8a14 Add test assertions to validate header propagation for rsocket message 2021-03-10 15:38:13 +01:00
Oleg Zhurakousky
2dea991c3e Fix header propagation for rsocket message 2021-03-10 15:25:50 +01:00
Oleg Zhurakousky
485d6967bd Fix checkstyle 2021-03-10 06:51:01 +01:00
Oleg Zhurakousky
9f8c29a4e7 Remove dependency on web classes from new Encoder/Decoder implementation
The web dependency still need to be there since it appears that spring-rsocket requires it
2021-03-05 15:08:25 +01:00
Oleg Zhurakousky
498a52ee84 GH-661 Fix KafkaNull as input type conversion
Basically KafkaNull gets a special treatement where if we see it as Message payload and input type of the function is Message we give it as is and if the input type is POJO then we simply return null

Resolves #661
2021-03-05 12:20:29 +01:00
Oleg Zhurakousky
c8a0cebd1f Cleanup 'handleAndReply' logic in RSocketListenerFunction 2021-03-05 09:51:59 +01:00
Oleg Zhurakousky
157949df93 Fix Message sanitizing logic in FunctionRSocketUtils
Only sanitize headers that are not serializable
2021-03-05 08:43:19 +01:00
Oleg Zhurakousky
fcd427ca29 GH-663 Fix how strtategies are used to register additional encoders/decoders
Resolves #663
2021-03-05 08:08:16 +01:00
Oleg Zhurakousky
046aa354da Merge pull request #659 from pguti778/patch-2
AWS: Change Default environment values
2021-03-03 16:17:30 +01:00
Oleg Zhurakousky
c798910e33 Polish documentation 2021-03-03 08:18:19 +01:00
Oleg Zhurakousky
ec2f4a2b4e Polish documentation 2021-03-03 08:17:19 +01:00
Oleg Zhurakousky
b45feef677 Polish documentation 2021-03-03 08:01:19 +01:00
Oleg Zhurakousky
0a28d57da3 Polish documentation 2021-03-03 07:59:10 +01:00
Oleg Zhurakousky
8ecf72c50e Update documentation with distributed function composition 2021-03-03 07:51:30 +01:00
Oleg Zhurakousky
201841418d GH-660 Update RSocket documentation with Messaging bits 2021-03-03 07:26:51 +01:00
Oleg Zhurakousky
2713fbb51c Merge pull request #658 from KSVarun/patch-1
Corrected grammatical mistake in the Note section of Message Headers
2021-03-03 06:40:11 +01:00
Oleg Zhurakousky
f80d0de0a3 GH-660 Add initial suppport for sending/receiving Messages
Resolves #660
2021-03-03 06:38:33 +01:00
pguti778
827c7025ef AWS: Change Default environment values
I've faced the "The key must start with a letter and can only contain letters, numbers, and underscores." issue in the AWS lambda. So both _HANDLER and spring.cloud.function.definition were not enabled to be added as environment variables. Let me know your thoughts.
2021-03-02 22:09:41 -03:00
Varun
d82bdebc03 Corrected grammatical mistake in the Note section of Message Headers
This is the current statement
>SpEL evaluation context’s root object is the actual input argument, so in he case of Message<?> you can construct expression that has access to both payload and headers (e.g., spring.cloud.function.routing-expression=headers.function_name).

This is the corrected one
>SpEL evaluation context’s root object is the actual input argument, so in the case of Message<?> you can construct expression that has access to both payload and headers (e.g., spring.cloud.function.routing-expression=headers.function_name).

```diff
-so in he case...
+so in the case...
```
2021-03-02 17:22:25 +05:30
Oleg Zhurakousky
d097d960df Update copyrights 2021-03-02 08:51:22 +01:00
Adrien Poupard
a70564eb82 Add Kotlin suspend function support
Use suspendCoroutineUninterceptedOrReturn to avoid using not fully implemented Function2.reflect()

Mapping of Function, Consumer and Supplier to kotlin suspend flow lambda

Fix MR review

Resolves #655
2021-03-02 08:51:00 +01:00
Oleg Zhurakousky
9f1c99bae8 GH-654 Update routing and RSocket routing documentation with details on 'MessageRoutingCallback'
Resolves #654
2021-02-24 15:48:34 +01:00
Oleg Zhurakousky
1f818dd639 GH-654 Remove FunctionProperties injection from MessageRoutingCallbackRSocketTests 2021-02-24 13:31:31 +01:00
Oleg Zhurakousky
9d6a23f102 GH-654 Add more tests, cleanup and initial javadoc 2021-02-24 08:49:53 +01:00
Oleg Zhurakousky
9093852854 GH-654 remove route(Publisher) from MessageRoutingCallback 2021-02-23 17:26:08 +01:00
Oleg Zhurakousky
40d0507609 GH-654 Fix how RoutingFunction is treated by RSocketListenerFunction 2021-02-23 16:58:37 +01:00
Oleg Zhurakousky
3b8b110e0a GH-654 Initial support for non-SpEL based routing mechanism 2021-02-23 06:19:45 +01:00
Oleg Zhurakousky
8a71f37a4d SCST-GH-2115 Ensure that in a case of KafkaNull we just return a payload 2021-02-22 16:10:05 +01:00
Oleg Zhurakousky
427669a97c Fix spelling error in constant name 2021-02-22 14:11:27 +01:00
Oleg Zhurakousky
386931966c GH-653 Retain original 'lookupDestination' while adding 'reconsiledLookupDestination'
This is necessary to retain user provided information while also prpviding a way to reconsile the actual destination/function
2021-02-22 14:08:02 +01:00
Oleg Zhurakousky
59d0314435 GH-652 Improve error messaging and function exist check
FunctionRSocketUtils looks up function by a bean name hen it attempts  to determine if there is a remote routing. That is not correct since bean name may not exist if function was manually registered. Also, the error message 'Must only contain one output redirect' was not clear as it was not showing the actual function name for propper debugging

Resolves #651
2021-02-22 12:19:57 +01:00
Oleg Zhurakousky
27acfd8cc3 GH-653 Add documentation and additional test to validate function definition order for RSocket
Resolves #653
2021-02-22 11:41:06 +01:00
Oleg Zhurakousky
56b3c49120 GH-653 Make consistent priority order of function definition in RSocket
With this commit spring.cloud.function.routing-expression property takes precedence over all, then route(<function.definition>) and then spring.cloud.function.definition property
2021-02-22 11:11:55 +01:00
buildmaster
fbb79850d1 Bumping versions 2021-02-18 18:56:53 +00:00
Oleg Zhurakousky
a161dfa660 Simplified RoutingFunction configuration
If routing-expression is provided there is no need to explicitely set function.definition to 'functionRouter'
2021-02-18 15:35:26 +01:00
Oleg Zhurakousky
e437fa2181 Add initial RSocket test with RoutingFunction 2021-02-18 14:42:14 +01:00
buildmaster
f03a6db8d3 Bumping versions 2021-02-15 18:56:40 +00:00
Oleg Zhurakousky
e4b953a14f GH-645 Add Kotlin Web example 2021-02-15 18:06:40 +01:00
Oleg Zhurakousky
a24713e53b GH-649 Ignire factory bean names during discovery of a function
Resolves #649
2021-02-15 17:53:12 +01:00
Oleg Zhurakousky
cab4d9e341 GH-648 Fix Kotlin functions bootstrap
Resolves #648
2021-02-15 16:12:12 +01:00
Oleg Zhurakousky
c4ffef0d14 Upgrade Kotlin lib 2021-02-11 05:35:52 +01:00
Oleg Zhurakousky
f3573f359d GH-639 Fix NPE for when using Supplier with AWS API Gateway
Resolves #639
2021-02-08 10:36:00 +01:00
Oleg Zhurakousky
b96b834cdd GH-640 Fix NPE with non-Message json conversion
Resolves #640

Added test
2021-02-05 16:12:31 +01:00
buildmaster
36de6289ba Bumping versions 2021-02-01 18:56:47 +00:00
Oleg Zhurakousky
5b51b3397d GH-638 Enhance the lifecycle of function deployemnt in s-c-f-deployer
Resolves #638
2021-02-01 13:35:59 +01:00
buildmaster
d9d1588a19 Bumping versions 2021-01-28 18:56:43 +00:00
buildmaster
44d583493a Bumping versions 2021-01-27 18:56:44 +00:00