-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WEJBHTTP-106] Allow multi-versioned HTTP handlers per HTTP Service #102
Conversation
…a single service, associating the URL /v<number> path to the service HTTP handler version Signed-off-by: Flavia Rainone <[email protected]>
Signed-off-by: Flavia Rainone <[email protected]>
@ropalka for now, this is for discussion, not for merging, yet. |
Hi @fl4via
The idea is to have a single implementation of an HttpHandler which accepts a protocol version and to use the protocol version and case statements within the implementation to accommodate changes between versions. The versions for each handler will have a lot in common. Then initialization might be able to do something like:
This one idea. Would you have any objections to this or is there a better way to allow the HttpHandler implementations to be versioned? |
On second thought, I could probably just include an anonymous class as described above in the base class used for the handler classes, as this may be the only place such a class would be used. |
I like @rachmatowicz proposal. I also have no objections to your proposal PR @fl4via |
I now have a branch of wildfly-http-client which merges my stickiness changes for wildfly-http-client onto this branch. I only had two issues when using your PR for multiple handler versions: There are two tests failing in the wildfly-http-client testsuite which I am currently trying to fix. They involve the use of affinity in the wildfly-http-client test framework. The changes I made do on the other hand work with Wildfly and the test described here (https://issues.redhat.com/browse/WFLY-16950). The final point is that the tests that pass are non-transactional only. There is still an outstanding problem with transactional contexts being lost during invocation (https://issues.redhat.com/browse/WEJBHTTP-103). |
That's great news @rachmatowicz ! I'm having a look at the PR and the involved code to give you some feedback. Hopefully we will have all this sorted out and a new wildfly-http-client release with the fixes pretty soon! |
I am closing this because it is clear that this is not exactly the feature we wanted in wildlfy-http-client to move forward. |
Jira: https://issues.redhat.com/browse/WEJBHTTP-106