-
Notifications
You must be signed in to change notification settings - Fork 46
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
Draft: migrate to [email protected]
#163
Conversation
1ca2ea1
to
0c309d6
Compare
simulator-archetypes/archetype-jms/src/main/resources/archetype-resources/pom.xml
Outdated
Show resolved
Hide resolved
0c309d6
to
ec1464d
Compare
@christophd there seems to be an issue with the Error: Tests run: 4, Failures: 4, Errors: 0, Skipped: 0, Time elapsed: 8.044 s <<< FAILURE! - in org.citrusframework.simulator.SimulatorMailIT
Error: testDefaultRequest(org.citrusframework.simulator.SimulatorMailIT) Time elapsed: 0.215 s <<< FAILURE!
java.lang.NoClassDefFoundError: javax/activation/DataContentHandler
Caused by: java.lang.ClassNotFoundException: javax.activation.DataContentHandler I am not exactly sure if this comes from the |
Update: found the bug --> jakartaee/mail-api#665. will update citrusframework/citrus code of |
The implemented workaround allows jakarta-mail to find the corresponding classes when opening a new session. The reported without the workaround error is: ```shell java.lang.IllegalStateException: Not provider of jakarta.mail.util.StreamProvider was found at org.citrusframework.mail.server.MailServerTest.testMultipartMessageSplitting(MailServerTest.java:378) ``` Report in PR: citrusframework/citrus-simulator#163 (comment).
@christophd I tried implementing that mentioned fix in 7339378, but without success. now I am stuck. any ideas? (btw sorry if I mentioned you too much. I thought I've already written this comment, but cannot find it now) |
@bbortt I didn't look at it in detail, but maybe you need to add the Eclipse Angus reference implementation for Jakarta Mail to work: https://eclipse-ee4j.github.io/angus-mail/ |
I've tried that too, I think. but let me double check. |
The implemented workaround allows jakarta-mail to find the corresponding classes when opening a new session. The reported without the workaround error is: ```shell java.lang.IllegalStateException: Not provider of jakarta.mail.util.StreamProvider was found at org.citrusframework.mail.server.MailServerTest.testMultipartMessageSplitting(MailServerTest.java:378) ``` Report in PR: citrusframework/citrus-simulator#163 (comment).
@boskoop I've tried that too.. and pushed another commit (referenced above this comment) with my latest changes. ended up with the java.lang.NoClassDefFoundError: javax/activation/DataContentHandler and even if this is present on the class path, some cast does then (obviously) not work: java.lang.ClassCastException: class com.sun.mail.handlers.text_plain cannot be cast to class jakarta.activation.DataContentHandler (com.sun.mail.handlers.text_plain and jakarta.activation.DataContentHandler are in unnamed module of loader 'app') edit: I will try and take a look at the maven dependency tree.. maybe I can find something. must come from somewhere, tho! |
Compatibility fixes for the [citrusframework/citrus-simulator](https://github.com/citrusframework/citrus-simulator) project. These changes - mostly in `citrus-jms` and `citrus-mail` - will allow it to build on jdk17 and with the latest Spring- and Boot framework as well. Progress originally reported in PR: citrusframework/citrus-simulator#163 (comment).
never mind.. I got it. don't know how exactly, but I got it 🤣 see the linked PR. |
ec1464d
to
04ac686
Compare
Compatibility fixes for the [citrusframework/citrus-simulator](https://github.com/citrusframework/citrus-simulator) project. These changes - mostly in `citrus-jms` and `citrus-mail` - will allow it to build on jdk17 and with the latest Spring- and Boot framework as well. Progress originally reported in PR: citrusframework/citrus-simulator#163 (comment).
04ac686
to
428a0b9
Compare
Compatibility fixes for the [citrusframework/citrus-simulator](https://github.com/citrusframework/citrus-simulator) project. These changes - mostly in `citrus-jms` and `citrus-mail` - will allow it to build on jdk17 and with the latest Spring- and Boot framework as well. Progress originally reported in PR: citrusframework/citrus-simulator#163 (comment).
by the way, if someone wants to continue this: feel free to add commits on top of it. we can squash it later. 'cause I'll have no time this week (probably until next monday). |
I've fixed it, btw. will push it this evening 🚀 |
586b7a3
to
4492511
Compare
@buergich fyi I've now migrated the samples to ActiveMQ Artemis as well (like we did with the citrus core). ActiveMQ classic is not ready yet, but will be probably in the next month. See: |
} | ||
|
||
requestBuilder | ||
.messageType(MessageType.JSON) | ||
// TODO: .messageType(MessageType.JSON) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as far as I saw in the legacy code, this did select the extractor or serializer based on the type. how will this be handled in the future?
@@ -44,6 +54,10 @@ public class ScenarioDesigner extends DefaultTestDesigner { | |||
/** Bean reference resolver */ | |||
private final ReferenceResolver referenceResolver; | |||
|
|||
// TODO: Is this still relevant? | |||
/** Optional stack of containers cached for execution */ | |||
protected Stack<TestActionContainerBuilder<? extends TestActionContainer, ?>> containers = new Stack<>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still relevant? if not, I think this part can be removed as well.
@@ -67,18 +81,22 @@ public CorrelationManager correlation() { | |||
return () -> { | |||
CorrelationHandlerBuilder builder = new CorrelationHandlerBuilder(scenarioEndpoint, applicationContext); | |||
action(builder); | |||
// TODO: Not sure if this works? Where does this action get called? | |||
// See: https://github.com/citrusframework/citrus/pull/946/files#diff-f5bc91f18a5e506ee478ab30a349ef1aee9eecf68efbb8954c5978a7eb14029eL749 | |||
doFinally().actions(builder.stop()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if this works? These builded actions, they're not added to any list nor similar. Where or how are these bein executed?
doFinally().actions(builder.stop()); | ||
return builder; | ||
}; | ||
} | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note to myself:
@@ -60,9 +70,11 @@ public ScenarioRunner(ScenarioEndpoint scenarioEndpoint, ApplicationContext appl | |||
* | |||
* @return | |||
*/ | |||
public CorrelationHandlerBuilder correlation(CorrelationBuilderSupport configurer) { | |||
public StartCorrelationHandlerAction correlation(CorrelationBuilderSupport configurer) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will now return an action, not a builder. but if the last line calls run
, no builder will be returned (as expected).
@@ -105,60 +103,51 @@ public final Long run(SimulatorScenario scenario, String name, List<ScenarioPara | |||
private Future<?> startScenarioAsync(Long executionId, String name, SimulatorScenario scenario, List<ScenarioParameter> scenarioParameters) { | |||
return executorService.submit(() -> { | |||
try { | |||
if (scenario instanceof Executable) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that concept of an Executable
does no longer exist, right? I've removed that condition.
|
||
/** | ||
* @author Christoph Deppisch | ||
*/ | ||
public class ScenarioDesigner extends DefaultTestDesigner { | ||
public class ScenarioDesigner extends DefaultTestCaseRunner { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the whole concept around "Designers" has been removed from the core, I think. this class would be removed and the ScenarioRunner
would be the only remaining option, right? it does not differ much from the designer, tho.
41f6cd8
to
231aa18
Compare
upgrade citrus core from `com.consol.citrus` to `org.citrusframework` dependency. that includes some transitive dependency updates/migrations, also in order to support a jdk17 build minimum: * `javax` to `jakarta` * `org.springframework` * `org.springframework.boot` BREAKING CHANGE: contains breaking dependency updates!
231aa18
to
034acf9
Compare
@christophd with 034acf9 the |
superseded by #169. |
upgrade citrus core from
com.consol.citrus
toorg.citrusframework
dependency. that includes some transitive dependency updates/migrations, also in order to support a jdk17 build minimum:javax
tojakarta
org.springframework
org.springframework.boot
BREAKING CHANGE: contains breaking dependency updates!
closes #162.