[JBoss JIRA] (DROOLS-925) Cannot deploy kie-server to Wildfly 10.0.0.CR1
by Michael Biarnes Kiefer (JIRA)
[ https://issues.jboss.org/browse/DROOLS-925?page=com.atlassian.jira.plugin... ]
Michael Biarnes Kiefer updated DROOLS-925:
------------------------------------------
Fix Version/s: 7.0.0.Beta3
(was: 7.0.0.Beta2)
> Cannot deploy kie-server to Wildfly 10.0.0.CR1
> ----------------------------------------------
>
> Key: DROOLS-925
> URL: https://issues.jboss.org/browse/DROOLS-925
> Project: Drools
> Issue Type: Bug
> Components: kie server
> Affects Versions: 6.3.0.CR2
> Environment: Wildfly 10.0.0.CR1
> Reporter: Pokpitch Patcharadamrongkul
> Assignee: Edson Tirelli
> Priority: Critical
> Fix For: 7.0.0.Beta3
>
>
> Cannot deploy kie-server to Wildfly 10.0.0.CR1 (HornetQ is to be deprecated from Wildfly 10.x.x) Please fixed in kie-server-x.x-x.war/META-INF/kie-server-jms.xml
> {color:red}Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYMSGAMQ0055: Could not parse file /opt/wildfly-10.0.0.CR1/standalone/tmp/vfs/temp/temp8eb8a1f894857057/content-c7b7cd6a0a56658e/META-INF/kie-server-jms.xml
> at org.wildfly.extension.messaging.activemq.deployment.MessagingXmlParsingDeploymentUnitProcessor.deploy(MessagingXmlParsingDeploymentUnitProcessor.java:95)
> ... 6 more
> Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2,1]
> Message: Unexpected element '{urn:jboss:messaging-deployment:1.0}messaging-deployment'
> at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:108)
> at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69)
> at org.wildfly.extension.messaging.activemq.deployment.MessagingXmlParsingDeploymentUnitProcessor.deploy(MessagingXmlParsingDeploymentUnitProcessor.java:89)
> ... 6 more{color}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 3 months
[JBoss JIRA] (DROOLS-744) Rule Generation Feature Request
by Michael Biarnes Kiefer (JIRA)
[ https://issues.jboss.org/browse/DROOLS-744?page=com.atlassian.jira.plugin... ]
Michael Biarnes Kiefer updated DROOLS-744:
------------------------------------------
Fix Version/s: 7.0.0.Beta3
(was: 7.0.0.Beta2)
> Rule Generation Feature Request
> -------------------------------
>
> Key: DROOLS-744
> URL: https://issues.jboss.org/browse/DROOLS-744
> Project: Drools
> Issue Type: Feature Request
> Components: core engine, kie server
> Affects Versions: 6.2.0.Final
> Reporter: Justin Holmes
> Assignee: Mario Fusco
> Fix For: 7.0.0.Beta3
>
>
> As a developer using Drools, I want a rule generation java api that supports control logic in the rule templates (e.g. for loops, if/else) and integrates with the rule workbench in order to build highly dynamic business rules driven systems.
> The initial thought process around implementation is to build two things 1) a simple way to author mvel templates in business central, the existing text editor could be used at first and 2) a simple embedded java api in it's own maven module which can checkout the git project that has the mvel template, apply a set of domain objects to the template, check in the resulting rule files to the local git repo and then push the changes back to business central. This allows us to leverage the power of the existing MVEL and JGit tech stack while pushing the complexity to a java api, where we are stronger than the workbench itself.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 3 months
[JBoss JIRA] (DROOLS-680) "contains" operator behaves inconsistently when used with Maps
by Michael Biarnes Kiefer (JIRA)
[ https://issues.jboss.org/browse/DROOLS-680?page=com.atlassian.jira.plugin... ]
Michael Biarnes Kiefer updated DROOLS-680:
------------------------------------------
Fix Version/s: 7.0.0.Beta3
(was: 7.0.0.Beta2)
> "contains" operator behaves inconsistently when used with Maps
> --------------------------------------------------------------
>
> Key: DROOLS-680
> URL: https://issues.jboss.org/browse/DROOLS-680
> Project: Drools
> Issue Type: Bug
> Affects Versions: 5.6.0.Final, 6.0.1.Final, 6.1.0.Final, 6.2.0.CR4
> Reporter: Davide Sottara
> Assignee: Mario Fusco
> Fix For: 7.0.0.Beta3
>
>
> In a rule
> {code}
> Bean( map contains "x" ) // assuming "map" is a property of type Map
> {code}
> "contains" is arbitrarily interpreted as "containsKey"
> The constrain will then fail after being jitted
> The documentation explicitly states that "contains" applies to collections
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 3 months
[JBoss JIRA] (JASSIST-261) Issue with javassist on jdk 9b112
by Scott Marlow (JIRA)
[ https://issues.jboss.org/browse/JASSIST-261?page=com.atlassian.jira.plugi... ]
Scott Marlow commented on JASSIST-261:
--------------------------------------
I got a javadoc build error as AnnotationsAttribute doesn't seem to have invisibleTab but some javadoc links to that:
{code}
/mnt/ssd/work/javassist/src/main/javassist/bytecode/FieldInfo.java:236: error: reference not found
[ERROR] * {@link AnnotationsAttribute#invisibleTab}
{code}
Full output for "mvn -P centralRelease javadoc:jar deploy" is at [http://pastebin.com/2wTL6qX0].
> Issue with javassist on jdk 9b112
> ---------------------------------
>
> Key: JASSIST-261
> URL: https://issues.jboss.org/browse/JASSIST-261
> Project: Javassist
> Issue Type: Bug
> Affects Versions: 3.20.0-GA
> Environment: Javassist with jdk 9b112
> Reporter: Hoang Chuong Tran
> Assignee: Shigeru Chiba
>
> I am migrating a project to java 9, which also uses javassist to generate runtime code.
> One test of mine fails on jdk 9b112 while it passes on jdk 8u77.
> {noformat}
> import static javassist.CtClass.voidType;
> import java.lang.reflect.Method;
> import java.lang.reflect.Modifier;
> import java.util.HashMap;
> import java.util.Map;
> import org.junit.Test;
> import javassist.ClassClassPath;
> import javassist.ClassPool;
> import javassist.CtClass;
> import javassist.CtField;
> import javassist.CtMethod;
> import javassist.CtNewMethod;
> public class MyTests {
> public static class MyObject {
> protected Object field;
> Object getField() {return field;}
> public void setField(Object field) {}
> }
> @Test
> public void test() throws InstantiationException, IllegalAccessException {
> Class<? extends MyObject> clazz = compile(MyObject.class);
> clazz.newInstance().setField(null);
> }
> /** Compile a transfer class */
> public static synchronized Class<? extends MyObject> compile(Class<?> targetClass) {
> // Determine class setters
> Map<String, Method> setters = extractSetters(targetClass);
> ClassPool classPool = ClassPool.getDefault();
> classPool.insertClassPath(new ClassClassPath(targetClass));
> try {
> // Compile a new transfer class on the fly
> CtClass baseClass = classPool.get(MyObject.class.getName());
> CtClass proxyClass = classPool.makeClass(targetClass.getName() + "_Modified", baseClass);
> for(Method originalSetter : setters.values()) {
> // Create a field to hold the attribute
> Class<?> fieldClass = originalSetter.getParameterTypes()[0];
> CtClass fieldType = classPool.get(fieldClass.getName());
> String fieldName = originalSetter.getName().substring(3);
> CtField field = new CtField(fieldType, fieldName, proxyClass);
> proxyClass.addField(field);
> // Create a setter method to set that field
> CtClass[] parameters = new CtClass[] { fieldType };
> String setterBody = "{ System.out.println(\"Hello World\"); }";
> CtMethod setter = CtNewMethod.make(voidType, originalSetter.getName(), parameters, new CtClass[0], setterBody, proxyClass);
> proxyClass.addMethod(setter);
> }
> Class<? extends MyObject> javaClass = proxyClass.toClass(targetClass.getClassLoader(), targetClass.getProtectionDomain());
> return javaClass;
> } catch(Exception e) {
> throw new RuntimeException("Failure during transfer compilation for " + targetClass, e);
> }
> }
> /** Extract setter methods from a class */
> public static Map<String, Method> extractSetters(Class<?> cls) {
> Map<String, Method> setters = new HashMap<String, Method>();
> for(Method method : cls.getMethods()) {
> // Lookup setter methods
> if(method.getName().startsWith("set")) {
> // Only public setters
> int modifiers = method.getModifiers();
> if(Modifier.isPublic(modifiers)) {
> Class<?>[] exceptions = method.getExceptionTypes();
> Class<?>[] parameters = method.getParameterTypes();
> Class<?> returnType = method.getReturnType();
> if(exceptions.length <= 0 && parameters.length == 1 && "void".equals(returnType.getName())) {
> setters.put(method.getName(), method);
> }
> }
> }
> }
> return setters;
> }
> }
> {noformat}
> On jdk 8u77, the {{compile()}} function returns with success and "Hello world" is printed to the console.
> On jdk 9b112, I got the following exception
> {noformat}
> java.lang.RuntimeException: Failure during transfer compilation for class MyTests$MyObject
> at MyTests.compile(MyTests.java:68)
> at MyTests.test(MyTests.java:29)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-ea/Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(java.base@9-ea/NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:670)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
> Caused by: javassist.NotFoundException: java.lang.Object
> at javassist.ClassPool.get(ClassPool.java:450)
> at MyTests.compile(MyTests.java:51)
> ... 24 more
> {noformat}
> I suspect that is due to the jigsaw integration into the jdk.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 3 months
[JBoss JIRA] (WFCORE-1847) PatchMerger overrides submodule's content merging the outer module
by Alexey Loubyansky (JIRA)
Alexey Loubyansky created WFCORE-1847:
-----------------------------------------
Summary: PatchMerger overrides submodule's content merging the outer module
Key: WFCORE-1847
URL: https://issues.jboss.org/browse/WFCORE-1847
Project: WildFly Core
Issue Type: Bug
Components: Patching
Affects Versions: 3.0.0.Alpha9
Reporter: Alexey Loubyansky
Assignee: Alexey Loubyansky
PatchMerger merges two CPs into one. In case the first CP includes updates for modules like org.outermodule and org.outermodule.innermodule. And the second CP including an update for org.outermodule.innermodule only, the merge may not happen correctly in case the modification for the innermodule will appear before the modification for the outermodule in the first CP.
The merger will copy the innermodule's content first and then override it copying the outermodule's content (including the previous version of the innermodule).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 3 months
[JBoss JIRA] (WFLY-7229) WFLYCLWEBUT0001 for server-side invalidated sessions
by Paul Ferraro (JIRA)
[ https://issues.jboss.org/browse/WFLY-7229?page=com.atlassian.jira.plugin.... ]
Paul Ferraro commented on WFLY-7229:
------------------------------------
> It was coded because two standard mechanisms you mentioned were considered not sufficient. I'm not saying they didn't work - they did and still do, but we wished to free resources faster than they can. I didn't say that earlier, but there are actually +30 sessions per user to wipe (+30 apps we thought we needed coordinated logout for, to free resources).
The code in MainServlet will not free resources any faster than the standard mechanism. The distributed session manager in WF 10 does not rely on a polling mechanism (like older releases did), but instead schedules expiration eagerly. Thus sessions will be destroyed as soon as they are sufficiently idle.
> Now, in WF 10.1 (and only there) it's logging errors.
It's logging errors because this doesn't work in WF10. In WF10, the distributed HttpSession is not a traditional map of attributes, but rather a proxy to a distributed cache in which the session attributes are stored. This proxy is only functional within the context of a container thread (e.g. request thread, listener thread, async context thread, etc.).
> If I understood you right - then this is quite possibly what I want to happen.
I don't think you understood me fully. This would result in premature expiration. If a request fails over to another node, and the original node is still alive, it will expire the session even though it is still being used. I highly doubt that this is what you want to happen.
> WFLYCLWEBUT0001 for server-side invalidated sessions
> ----------------------------------------------------
>
> Key: WFLY-7229
> URL: https://issues.jboss.org/browse/WFLY-7229
> Project: WildFly
> Issue Type: Bug
> Components: Clustering, Web (Undertow)
> Affects Versions: 10.1.0.Final
> Environment: Happens whenever <distributable/> is used in web.xml, both in standalone and domain modes.
> Reporter: Michał Nowakowski
> Assignee: Paul Ferraro
> Attachments: stacktrace_01.txt, stacktrace_02.txt, stacktrace_03.txt, testPortlet.tar.gz
>
>
> Attached is a simple webapp (pardon the name) with a single servlet "/main", that does the following:
> - a session is assigned (or created, if none existed before)
> - its details are printed and the browser is told to refresh after 20 seconds
> - before the browser refreshes, the session is invalidated server-side by separate thread.
> Expected behaviour is, that WF should give the user a new session. That's indeed how it works in standalone mode and without <distributable/> in web.xml. But in domain mode, OR with <distributable/> added (and, possibly, full-ha profile chosen), I get errors:
> - The first stacktrace happens when the thread invalidates the session.
> - The second stacktrace happens, when the browser refreshes. The user sees "Error 500".
> - Then, after a minute or so, I get the last one. It then repeats periodically.
> We can't upgrade from 10.0 because of this - and we know we need an upgrade because of fixes in Infinispan.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 3 months