Commit Graph

275 Commits

Author SHA1 Message Date
Oleg Zhurakousky
d93febd4c4 GH-364 Additional cleanup and small refactoring for Kotlin lambda support 2019-09-10 13:48:32 +02:00
Oleg Zhurakousky
2aed5abff8 GH-408 Enhance RoutingFunction with SpEL and application properties
- Added initial support for communicating routing instructions via SpEL thru both message headers and application properties
- Added support for communication function definition via application properties
- Added additional tests and updated documentation

Resolves #408
2019-09-10 09:25:40 +02:00
Oleg Zhurakousky
11ac6cd679 GH-364 Fix type discovery on Kotlin lambdas
Added FunctionRegistration for each Kotlin lambdas with the correct types
Resolve #364
2019-09-06 20:04:24 +02:00
Oleg Zhurakousky
6c722e59ec Upgraded visibility on FunctionContextUtils.getParamTypesFromBeanDefinitionFactory 2019-09-06 17:19:06 +02:00
Oleg Zhurakousky
992c70762e GH-381 Add tests to validate lazy initialization effect
Resolves #381
2019-09-04 18:42:01 +02:00
Oleg Zhurakousky
7d5f47f112 GH-403 Added PollableSupplier marker annotation
Resolves #403
2019-08-27 14:30:05 +02:00
Oleg Zhurakousky
9514ed7649 Fix discovery of the default function 2019-08-22 20:33:42 +02:00
Oleg Zhurakousky
7611cba69e GH-387 Added initial support for flexible function signatures
- Added support for simple POJO functions
- Added additional utility methods
2019-08-22 16:58:18 +02:00
Oleg Zhurakousky
591b3bf531 Fixed README generation and polished few tests 2019-08-19 17:08:12 +02:00
buildmaster
ef0e42dd6f Going back to snapshots 2019-08-13 06:02:38 +00:00
buildmaster
b49e116cf2 Update SNAPSHOT to 3.0.0.M2 2019-08-13 05:56:32 +00:00
Oleg Zhurakousky
b64af80fb1 Improved archive loader to work with Java 11
Added tests for deploying multi-input/output apps and jars
Polished logging
2019-08-12 10:09:43 +02:00
Oleg Zhurakousky
3349c3abed Added support for class loader to share common transport packages such as reactor
Simplify user exposure to deploying archives
2019-08-10 14:44:35 +02:00
Oleg Zhurakousky
1248eaaa09 Imprived class loading for new deployer 2019-08-09 18:42:48 +02:00
Oleg Zhurakousky
d53fc6b672 Added support for passing conversion hint to MessageConverter 2019-08-07 15:54:30 +02:00
Oleg Zhurakousky
6312b5e0aa Fixed BeanFactoryAwareFunctionRegistry default function definition lookup 2019-08-06 17:48:03 +02:00
Oleg Zhurakousky
d3b31a6f6b Added initial support for loading functions by type in new deployer 2019-08-06 14:23:34 +02:00
Oleg Zhurakousky
38981003b9 Simplified MessageConverter configuration 2019-07-31 08:28:34 +02:00
Oleg Zhurakousky
14451272fe Added additional logging 2019-07-31 08:27:52 +02:00
Oleg Zhurakousky
13794b08d0 Minor polishing and additional logging for BeanFactoryAwareFunctionRegistry 2019-07-30 15:54:23 +02:00
Oleg Zhurakousky
2a926cab2f Temporarily ignoring several deployer tests
Fixed test JARs poms
2019-07-30 11:33:17 +02:00
Oleg Zhurakousky
90c69368c2 Removed FunctionCatalog, BeanFactoryFunctionCatalogTests, ContextFunctionPostProcessorTests
Deprecated FluxWrapperDetector
Clean up and polishing of new BeanFactoryAwareFunctionRegistry
2019-07-30 09:06:34 +02:00
Oleg Zhurakousky
f5cf937985 Fixed output conversion for Message<byte[]> functions
- cleaned up BeanFactoryAwareFunctionRegistry
- Added javadoc to FunctionCatalog.lookup(String functionDefinition, String... acceptedOutputMimeTypes)
2019-07-27 12:41:07 +02:00
Oleg Zhurakousky
9b1e69f05d Removed auto-fluxing Supplier result when Supplier is not reactive 2019-07-26 15:33:26 +02:00
Oleg Zhurakousky
74ca973bc9 Minor polishing to accomodate edge cases in s-c-stream 2019-07-25 17:07:02 +02:00
Oleg Zhurakousky
694c7fa1bb Adding support for extracting payload only for cases where conversion is not necessary 2019-07-24 13:57:17 +02:00
Oleg Zhurakousky
243cf95eca GH-388 Adding utility to interogate Function types
- refactoring of BeanFactoryAwareFunctionRegistry to eliminate the need for FunctionType as it takes certain assumptions that are no longer valid
- adding support for multiple acceptedOutputTypes to FunctionCatalog

Resolves #388
2019-07-24 12:12:52 +02:00
Oleg Zhurakousky
fbeee8bc37 Renamed new registry implementation to BeanFactoryAwareFunctionRegistry
- added initila javadoc
- polished few tests
2019-07-17 14:48:05 +02:00
Oleg Zhurakousky
93f7a248a5 Added initial support for lazy style FunctionCatalog/Registry which:
-  does not rely on any of the existing wrappers and instead relies on internal wrapper which performs  in-flight/just-in-time wrapping and unwrapping from reactive to imperative types
- performs transparent type conversion relying on MessageConverters and ConversionService
- supports multiple inputs/outputs
2019-07-17 13:54:02 +02:00
Dave Syer
b4f5c0339f Add flag for disabling component scan 2019-07-12 17:11:58 +02:00
Oleg Zhurakousky
1cf42f95f6 GH-383 Ensure FunctionType retains ParameterizedType as 'type' filed
Resolves #383
2019-07-12 17:06:50 +02:00
Oleg Zhurakousky
cfd24a8316 Upgraded master to 3.0.0.BUILD-SNAPSHOT 2019-06-06 18:47:09 +02:00
Dave Syer
57689755f2 Add support for spring.cloud.function.scan.packages in functional
Fixes gh-372
2019-06-06 16:40:17 +01:00
Oleg Zhurakousky
40b070a8d1 removed commented code 2019-05-29 09:13:15 +02:00
Oleg Zhurakousky
2dad9b65c1 Bumped to spring-cloud-build 2.2
Fixed boot 2.2 related errors
set master version to 2.2.0
2019-05-28 13:22:02 +02:00
Oleg Zhurakousky
52b8d67092 Fixed RoutingFunction ClassCast exception 2019-05-21 08:41:10 -05:00
Oleg Zhurakousky
b8c1003309 Improvements RoutingFunction and MessageFunction
Added error handling to RoutingFunction
Added support for Function<Flux, Flux> to MessageFunction
2019-05-17 15:39:54 +02:00
Oleg Zhurakousky
076aa6f880 GH-363 Fixed NPE on AbstractBeanDefinition.getBeanClass() call
Resolves #363
2019-05-13 19:32:44 +02:00
buildmaster
d28fc9978a Bumping versions to 2.1.1.BUILD-SNAPSHOT after release 2019-05-07 10:08:10 +00:00
buildmaster
e44c61754c Going back to snapshots 2019-05-07 10:08:09 +00:00
buildmaster
7fafbe7848 Update SNAPSHOT to 2.1.0.RELEASE 2019-05-07 09:12:21 +00:00
Oleg Zhurakousky
4d9cdb9750 GH-238 Added initial support for RoutingFunction
- Added initial implementation of RoutingFunction which is bootstrapped optionally based on setting ‘spring.cloud.function.routing.enabled’ property to true.
- Added initial documentation and tests

Resolves #238
2019-05-07 10:13:42 +02:00
Oleg Zhurakousky
cb952648b3 Revert "GH-355 Added support for deffered initialization of Function Catalog"
This reverts commit cd0ca2f7dc.
2019-05-01 04:48:21 +02:00
Oleg Zhurakousky
f16a2c76cf GH-317 Polishing and minor refactoring in AzureSpringBootHttpRequestHandler
- Moved convertOutput() to base class and added input value as an argument
- Added javadoc
- fixed checkstyle violations

Resolves #317
Resolves #360
2019-04-29 13:46:13 +02:00
Oleg Zhurakousky
09053d3f59 GH-357 Fixed MAIN_CLASS lookup logic
Resolves #357
2019-04-17 08:26:15 +03:00
Oleg Zhurakousky
cd0ca2f7dc GH-355 Added support for deffered initialization of Function Catalog
Resolves #355
2019-04-11 16:55:16 +02:00
Walliee
5256ee177c Fix BeanFactoryFunctionCatalog initialization when a
BeanFactoryPostProcessor that depends on FunctionCatalog is present.

On application context refresh, BeanFactoryPostProcessors are
invoked before registering BeanPostProcessor(s).
If a BeanFactoryPostProcessor that depends on FunctionCatalog is present,
then when ContextFunctionCatalogAutoConfiguration tries to fetch
all functional beans (Function/Supplier/Consumer), the creation of beans
where no default constructor exists fails as
AutowiredAnnotationBeanPostProcessor hasn't been registered yet.

Initialing BeanFactoryFunctionCatalog on ApplicationReadyEvent
delays the collection of functional beans to an even later point in
the lifecycle.

fixes #352

Fix test name

Switch to use SmartInitializingSingleton

Resolves #353
2019-04-11 16:53:13 +02:00
buildmaster
9df7455a30 Going back to snapshots 2019-04-08 14:18:29 +00:00
buildmaster
24740e4e17 Update SNAPSHOT to 2.1.0.RC1 2019-04-08 14:14:23 +00:00
Oleg Zhurakousky
6644130297 Polished FunctionType experimental constructor 2019-04-04 21:02:23 +02:00