Commit Graph

58 Commits

Author SHA1 Message Date
Dave Syer
74b80c069c Update to thin launcher 1.0.10 2018-04-16 15:51:41 +01:00
trisberg
344ee9a689 Upgrade boot versions
- 1.5.10 to 1.5.11

- 2.0.0 to 2.0.1
2018-04-06 21:07:21 +01:00
Dave Syer
efc99d2af0 Revert to snaphots 2018-03-16 11:40:12 -04:00
Dave Syer
feb8f51c41 Update to 1.0.0.M5 2018-03-16 11:28:53 -04:00
Dave Syer
43e3cb4f27 Fix deployer tests to not use the Boot 2.0 sample 2018-03-15 09:22:51 -04:00
Dave Syer
9a2f21e051 Upgrade pojo sample to Boot 2.0 as integration test 2018-03-15 06:45:58 -04:00
Dave Syer
955e99bfe3 Re-org so that default methods are used everywhere 2018-02-28 14:18:09 +00:00
Dave Syer
33b33adb4b Change FunctionCatalog to key off Class<?>
Makes it possible to support other "function" types in the future.
The user is always taking a risk with the lookup that the object
returned has the generic type desired (but that hasn't changed
with this commit). FunctionCatalog is a lot simpler as a result
and also a lot more flexible.
2018-02-28 14:18:09 +00:00
Dave Syer
616e2825c6 Move FunctionCatalog into context module 2018-02-27 09:05:28 +00:00
trisberg
d515781d6a Some more updates to Boot 1.5.10 2018-02-23 20:00:30 +00:00
Dave Syer
a2a2932715 Revert to snapshots 2018-02-21 07:24:21 +00:00
Dave Syer
72efd58675 Update to 1.0.0.M4 2018-02-20 19:25:11 +00:00
Dave Syer
73098244e3 Revert to snapshots 2018-01-20 11:57:49 +00:00
Dave Syer
77e0a5c514 Update to 1.0.0.M3 2018-01-19 13:55:34 +00:00
Dave Syer
1c0b603986 Add back spring-cloud-function-web (faster startup)
With this change there are now 2 choices for web endpoints. The
stream servlet binder is useful for multi-binder use cases
(e.g. HTTP -> message broker).
2018-01-03 15:06:33 +00:00
Dave Syer
1af0d451cf Migrate to servlet binder for web features 2018-01-03 15:06:33 +00:00
Dave Syer
be61ad07bd Clean up class loader on close() 2017-12-04 09:40:42 +00:00
Dave Syer
91c3770ce6 Upgrade Spring Cloud in the deployer too 2017-12-01 10:31:18 +00:00
Dave Syer
47fd4c3ed2 Going back to snapshots 2017-12-01 10:31:18 +00:00
Dave Syer
b6310e1811 Update SNAPSHOT to 1.0.0.M2 2017-11-28 13:40:35 +00:00
Dave Syer
24bd68ddb9 Remove s-c-stream as mandatory dependency
Fixes gh-130
2017-11-28 13:32:35 +00:00
Dave Syer
f2cde3ffbf Update thin launcher to 1.0.8 2017-11-28 11:43:56 +00:00
Dave Syer
7bf7b8b9c0 Update to latest snapshot of thin launcher 2017-11-17 15:04:41 +00:00
Dave Syer
af8b6e253e Revert to snapshots 2017-09-15 17:49:31 +01:00
Dave Syer
858b7404c6 Update to 1.0.0.M1 2017-09-15 17:48:51 +01:00
Dave Syer
3ccb925733 Merge core packages into one 2017-09-15 17:10:00 +01:00
Dave Syer
472f0e31b6 Prune dependencies and rename samples 2017-09-15 13:44:55 +01:00
Dave Syer
61a902ce9a Add spring-cloud-function-dependencies and use it throughout 2017-09-15 09:34:44 +01:00
Dave Syer
5622a9e2cb Remove custom conditions from spring-cloud-function-stream
It didn't really make any sense to have custom conditions that
depend on the presence or absence of beans of type Function,
Supplier, Consumer because the actual endpoints are derived
from the FunctionCatalog (which might not be based on
bean definitions). This approach is far simpler, and
reduces the amount of custom code in the stream binder.

The spring.cloud.function.stream.supplier.enabled flag
is awkward, so we should try and find a way to avoid that.
There's also no reason it should need to be set in the
deployer tests.
2017-08-08 09:39:15 +01:00
Dave Syer
c8646d64d8 Strangle old inspector methods
Fixes gh-81
2017-07-13 13:37:45 +01:00
Dave Syer
d7d49858f6 Add new methods to FunctionInspector 2017-07-13 13:37:06 +01:00
Dave Syer
eeb505ca89 Clean up resources when deployer app is closed 2017-07-04 15:04:00 +01:00
Dave Syer
31116b8e02 Update thin deployer 2017-07-04 14:17:03 +01:00
Dave Syer
0419fbc2ac Refactor deployer app so that it starts empty
Functions are namespaced under the "app name", e.g.
/sample/uppercase is the "uppercase" function in the "sample" app.

Also added a README to get started quickly.
2017-07-03 17:00:55 +01:00
Dave Syer
42a50861c0 Push bookeeping of names and ids down a level in deployer
The controller doesn't need to know the mappings, and it helps
to keep them closer to the actual AppDeployer, so in a future
change we can use the app names to look up functions.
2017-07-03 14:58:55 +01:00
Dave Syer
da0c954135 Add get*Names() to FunctionCatalog
We could go wit a separate interface, but it seems sensible to
keep it together really, so that callers don't have to downcast.
2017-06-29 14:43:19 +01:00
Dave Syer
0756dc3394 Add support for Message<Foo> in stream apps
The FunctionInspector needs to be able to distinguish between a
function of Flux<Foo> and a function of Flux<Message<Foo>>. Then
it can do the conversion a level below.

Only supports Message->Message or POJO->POJO (no mixtures), so there
is only one new method in FunctionInspector.

No support in the web endpoints yet. But it's probably not so hard
to add.
2017-06-15 12:32:46 +01:00
Dave Syer
0d2418a47b Add "wrapper" type methods to FunctionInspector
These can be used to more reliably discover whether the user
has declared a function with flux types or "bare" POJOs. They
then pave the way to supporting single valued types in a special
way.

Also consolidate and simplify the logic in FunctionInspector
2017-05-24 09:10:46 +01:00
Dave Syer
6e1f0b9a6e Add FunctionInspector to deployer so types can be inspected
ALso added a bunch of DEBUG logging because it's hard to debug the
deployer app.

Fixed gh-53
2017-05-22 10:57:47 +02:00
Dave Syer
3606e51d78 Fix deployer app
Run it, then

$ curl localhost:8080/admin
{"sample":{"name":"sample","id":"81c568e36c7909ec1dd841aa7ee6d3e3","path":"..."}}

undeploy:

$ curl localhost:8080/admin/sample -X DELETE
{"id":"81c568e36c7909ec1dd841aa7ee6d3e3"}

redeploy

$ curl localhost:8080/admin/sample -d path=maven://com.example:function-sample-pojo:1.0.0.BUILD-SNAPSHOT
{"id":"81c568e36c7909ec1dd841aa7ee6d3e3"}

(Takes about 500ms)
2017-05-19 11:29:03 +02:00
Dave Syer
e2c257b3e7 Fix sample so the thin.profile=stream works 2017-04-27 12:33:08 +01:00
Dave Syer
36c6b2dba7 Update versions of boot things 2017-04-12 17:57:28 +01:00
Dave Syer
da013c1015 Purge warnings in IDE 2017-03-14 18:21:41 +00:00
Oleg Zhurakousky
2a0653b0e7 Removed redundant entries from POM files
Polished POM files to remove redundant entries that were causing warnings in the IDE. Some notable changes are:
- Removed spring-boot.version from sample project as they inherit it from the parent
- Removed versioning for maven-jar-plugin (was 3.0) from multiple project so it relies on the managed version
- Removed java.version from all spring-cloud-function-* modules as they inherit the one from parent.

Addressed PR comments
- removed references to maven-jar-plugin
2017-03-11 18:31:32 -05:00
Dave Syer
fa86e5fb1f Update reactor versions 2017-02-24 10:07:01 +00:00
Dave Syer
d6a4ccf001 Update thin launcher to snapshot for fixes 2017-02-23 14:50:48 +00:00
Dave Syer
cab48a17f2 Update thin launcher to 1.0.0.M1 2017-01-31 15:35:03 +00:00
Dave Syer
5c79ff58a6 Workaround bug in thin launcher that brings in wrong reactor version 2017-01-12 21:27:38 -05:00
Dave Syer
216e5c9207 Add MVC body processors to handle Flux
We don't need to cover all the possible uses of Flux (only
Flux<String> really), so this isn't comprehensive coverage of
all the features in Spring WebFlux, but it's good enough for
functions to run with Spring Boot 1.5.
2017-01-12 08:55:46 -05:00
markfisher
cfd416590d removing FileSystemFunctionRegistry 2017-01-11 20:59:18 -05:00