bpmscript example
hi all, i've put together an example of a long running business process in bpmscript that showcases some of the things you can do with bpmscript (on top of servicemix, of course). The script looks like this: /** * Demonstration of BpmScript using services including: * * - Lightweight Email Component * - Lightweight SOAP Component (modified) * - BpmScript Alarm Service * * Example takes in a request which looks something like: * request * symbolGOOG/symbol * min12.9/min * max53.9/max * to[EMAIL PROTECTED]/to * /request * * It then looks up the stock price associated with the * symbol each hour using the ws.investbox.com web service * and email's the person specified in the to field of the * request if the price reaches more than the max or less * than the min. If not, the script sleeps for an hour and * then tries again. **/ function main(input, sender) { // parse out the source xml var request = sourceToXml(input.getInMessage().getContent()); // create some BpmScript Services var soapService = new SoapService(sender); var alarmService = new AlarmService(sender); var emailService = new EmailService(sender); // grab the minimum and maximum values from the request var min = parseFloat(request.min.text().toString()); var max = parseFloat(request.max.text().toString()); // check every hour while(alarmService.sendSync(PT1H)) { // create the SOAP content var message = tns:GetQuote xmlns:tns=http://ws.invesbot.com/; tns:symbol{request..symbol.text()}/tns:symbol /tns:GetQuote; // send out the soap request var exchange = soapService.sendSync( soapService.toURL(http://ws.invesbot.com/stockquotes.asmx;), http://ws.invesbot.com/GetQuote;, xmlToSource(message)); // get the xml from the response var xml = sourceToXml(exchange.getOutMessage().getContent()); // parse out the bid. the reason this is more complicated // than it needs to be is because the data comes back as e.g. 23.5smallx 100/small var bid = parseFloat(/^(\d+\.\d+)/.exec(xml..Bid.text().toString())[0]); // send out an email if the bid price is higher than the max // or lower than the minimum set and end the script if(bid min || bid max) { emailService.send({to:request.to.text().toString(), from:request.to.text().toString(), subject:Bid has reached + (bid min ? minimum : maximum) + value of + bid, text:xml.toXMLString()}); break; } } sender.reply(ST.toStreamSource(done/)); } The spring config for the example looks as follows (without the smtp properties -- i was testing using gmail): ?xml version=1.0 encoding=UTF-8? beans xmlns:sm=http://servicemix.apache.org/config/1.0; xmlns=http://xbean.org/schemas/spring/1.0; xmlns:bs=http://bpmscript.org/jbi; xmlns:test=urn:test bean id=mailSender class=org.springframework.mail.javamail.JavaMailSenderImpl property name=host value=${smtp.host} / property name=port value=${smtp.port} / property name=protocol value=smtps / property name=username value=${smtp.username} / property name=password value=${smtp.password} / property name=javaMailProperties props prop key=mail.smtps.authtrue/prop prop key=mail.smtp.starttls.enabletrue/prop prop key=mail.smtp.debugtrue/prop /props /property /bean sm:container id=jbi embedded=true flowName=seda createMBeanServer=false sm:activationSpecs sm:activationSpec sm:component bean class= org.bpmscript.jbi.component.InMemoryBpmScriptSpringComponent property name=endpoints list bean class=org.bpmscript.jbi.component.ProcessEndpoint property name=endpoint value=email / property name=sourceResource value=classpath:email/main.js / /bean /list /property /bean /sm:component /sm:activationSpec sm:activationSpec componentName=dynamicsoap service=bs:dynamicsoap sm:component bean class=org.bpmscript.jbi.DynamicSaajBinding/bean /sm:component /sm:activationSpec sm:activationSpec componentName=emailSender service=bs:emailSender sm:component bean class=org.apache.servicemix.components.email.SimpleMailSender property name=sender ref=mailSender/ /bean /sm:component /sm:activationSpec /sm:activationSpecs /sm:container /beans
Re: bpmscript example
thanks. it's currently packaged up as a test case in bpmscript-core. might be tricky to run it on it's own at the moment (easiest way would be to grab the source from cvs and run the org.bpmscript.jbi.component.CallEmailTest. there are examples of bpmscript running from an SU but they'll only be able to use the lightweight components if configured in servicemix.xml. hmmm... should probably look to make this example more independent (as an SU and associated servicemix.xml, like the servicemix examples). The dynamic saaj binding is just the servicemix SaajBinding which allows you to specify the soap endpoint in the message rather than only at config time. Additional stuff about the example: * It doesn't do any initial validation, there's an argument that it would be better to do it earlier just because the more stateless stuff you can do outside of bpmscript, the faster it'll be * It doesn't currently do any error handling (to keep the example relatively small) * It could do all sorts of other cool things like: set up a task to buy or sell and then call some stock buying web service * It's using the in memory version of the bpmscript component which makes it quicker to test cheers, j. On 11/27/06, Guillaume Nodet [EMAIL PROTECTED] wrote: It sounds really nice :) I will try to launch this example tonight ... I need to take a look at the DynamicSaajBinding to see what it does. On 11/27/06, Jamie McCrindle [EMAIL PROTECTED] wrote: hi all, i've put together an example of a long running business process in bpmscript that showcases some of the things you can do with bpmscript (on top of servicemix, of course). The script looks like this: /** * Demonstration of BpmScript using services including: * * - Lightweight Email Component * - Lightweight SOAP Component (modified) * - BpmScript Alarm Service * * Example takes in a request which looks something like: * request * symbolGOOG/symbol * min12.9/min * max53.9/max * to[EMAIL PROTECTED]/to * /request * * It then looks up the stock price associated with the * symbol each hour using the ws.investbox.com web service * and email's the person specified in the to field of the * request if the price reaches more than the max or less * than the min. If not, the script sleeps for an hour and * then tries again. **/ function main(input, sender) { // parse out the source xml var request = sourceToXml(input.getInMessage().getContent()); // create some BpmScript Services var soapService = new SoapService(sender); var alarmService = new AlarmService(sender); var emailService = new EmailService(sender); // grab the minimum and maximum values from the request var min = parseFloat(request.min.text().toString()); var max = parseFloat(request.max.text().toString()); // check every hour while(alarmService.sendSync(PT1H)) { // create the SOAP content var message = tns:GetQuote xmlns:tns=http://ws.invesbot.com/; tns:symbol{request..symbol.text()}/tns:symbol /tns:GetQuote; // send out the soap request var exchange = soapService.sendSync( soapService.toURL(http://ws.invesbot.com/stockquotes.asmx;), http://ws.invesbot.com/GetQuote;, xmlToSource(message)); // get the xml from the response var xml = sourceToXml(exchange.getOutMessage().getContent()); // parse out the bid. the reason this is more complicated // than it needs to be is because the data comes back as e.g. 23.5smallx 100/small var bid = parseFloat(/^(\d+\.\d+)/.exec(xml..Bid.text().toString())[0]); // send out an email if the bid price is higher than the max // or lower than the minimum set and end the script if(bid min || bid max) { emailService.send({to:request.to.text().toString(), from:request.to.text().toString(), subject:Bid has reached + (bid min ? minimum : maximum) + value of + bid, text:xml.toXMLString()}); break; } } sender.reply(ST.toStreamSource(done/)); } The spring config for the example looks as follows (without the smtp properties -- i was testing using gmail): ?xml version=1.0 encoding=UTF-8? beans xmlns:sm=http://servicemix.apache.org/config/1.0; xmlns=http://xbean.org/schemas/spring/1.0; xmlns:bs=http://bpmscript.org/jbi; xmlns:test=urn:test bean id=mailSender class=org.springframework.mail.javamail.JavaMailSenderImpl property name=host value=${smtp.host} / property name=port value=${smtp.port} / property name=protocol value=smtps / property name=username value=${smtp.username} / property name=password value=${smtp.password} / property name=javaMailProperties props prop key=mail.smtps.authtrue/prop prop key=mail.smtp.starttls.enabletrue/prop prop key=mail.smtp.debugtrue/prop /props
servicemix-common and deployers
hi all, i've been using servicemix-common which makes the process of getting a fully fledged component done much easier. i do have a query / suggestion regarding the way deployers are handled. currently, if a baseserviceunitmanager is marked as having persistent service units the deploy method will be called on each Deployer the first time the service unit is deployed and then not again. Also, it is assumed that the endpoint will be registered on deploy. the situation i have in terms of lifecycle is closer to the spec, in terms of: i'd like to have deploy called only once and then init called each time the service unit is initialised. i'd also like to register the endpoints/serviceunit in the init method rather than the deploy. the reasoning is as follows: - the data in the service unit is persistent - the first time it's deployed i'd like to load the data in a database (or update it) - each time it's initialised, i'd like to register the serviceunit/endpoints but _not_ reload the data into the database. so, where i am now is that i'd like to carry on using baseserviceunitmanager without mangling it too much in a subclass. so the query is, am i on the right track? the suggestion is, is there a way to extend servicemix-common to support the lifecycle i've described above? cheers, j.
Re: Build SM 3.0.1 broken
anyone seen any movement on this? just broke me too. On 11/6/06, Guillaume Nodet [EMAIL PROTECTED] wrote: This is very unfortunate. The poms have been put to public repo today it seems (see the dates at http://repo.mergere.com/maven2/geronimo/geronimo-kernel/1.1/) so they were not here at the time the 3.0.1 has been built :( Moreover, as you pointed, there are missing jars :( For repository / geronimo guys: would it be possible to at least fix the poms and remove the missing bits, or add those ? And is there any reason why these poms have been recently put in public repos 5 months after the release ? On 11/6/06, macdoor [EMAIL PROTECTED] wrote: I check out SM 3.0.1 source code from http://svn.apache.org/repos/asf/incubator/servicemix/tags/servicemix-3.0.1/, and run mvn -Dmaven.test.skip=true -Dprofile=step1 install I got the following message: [INFO] [compiler:compile] [INFO] Nothing to compile - all classes are up to date [INFO] [resources:testResources] [INFO] Using default encoding to copy filtered resources. Downloading: http://www.ibiblio.org/maven2/org/apache/geronimo/specs/geronimo-qname_1.1_spec/1.0.1/geronimo-qname_1.1_spec-1.0.1.test [WARNING] Unable to get resource from repository central (http://www.ibiblio.org/maven2) Downloading: http://servicemix.org/m2-repo/org/apache/geronimo/specs/geronimo-qname_1.1_spec/1.0.1/geronimo-qname_1.1_spec-1.0.1.test [WARNING] Unable to get resource from repository servicemix-m2-repo http://servicemix.org/m2-repo) Downloading: http://people.apache.org/~chirino/incubator-activemq-4.0.2-RC5/maven2/org/apache/geronimo/specs/geronimo-qname_1.1_spec/1.0.1/geronimo-qname_1.1_spec-1.0.1.test [WARNING] Unable to get resource from repository activemq-tmp-repo (http://people.apache.org/~chirino/incubator-activemq-4.0.2-RC5/maven2) Downloading: http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/geronimo/specs/geronimo-qname_1.1_spec/1.0.1/geronimo-qname_1.1_spec-1.0.1.test [WARNING] Unable to get resource from repository apache-releases (http://people.apache.org/repo/m2-ibiblio-rsync-repository) [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.geronimo.specs:geronimo-qname_1.1_spec:test:1.0.1 Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.geronimo.specs -DartifactId= geronimo-qname_1.1_spec \ -Dversion=1.0.1 -Dpackaging=test -Dfile=/path/to/file Path to dependency: 1) org.apache.servicemix:servicemix-services:jar:3.0.1-incubating 2) geronimo:geronimo-connector:jar:1.1 3) geronimo:geronimo-kernel:jar:1.1 4) org.apache.geronimo.specs:geronimo-qname_1.1_spec:test:1.0.1 -- 1 required artifact is missing. for artifact: org.apache.servicemix:servicemix-services:jar:3.0.1-incubating from the specified remote repositories: central (http://www.ibiblio.org/maven2), servicemix-m2-repo (http://servicemix.org/m2-repo), apache.snapshots (http://svn.apache.org/maven-snapshot-repository), apache-snapshots (http://people.apache.org/repo/m2-snapshot-repository), apache-releases (http://people.apache.org/repo/m2-ibiblio-rsync-repository), activemq-tmp-repo (http://people.apache.org/~chirino/incubator-activemq-4.0.2-RC5/maven2) -- View this message in context: http://www.nabble.com/Build-SM-3.0.1-broken-tf2582163s12049.html#a7197988 Sent from the ServiceMix - Dev mailing list archive at Nabble.com. -- Cheers, Guillaume Nodet
[jira] Commented: (SM-670) Including JMSFlow in default servicemix.conf
[ https://issues.apache.org/activemq/browse/SM-670?page=comments#action_37157 ] Jamie McCrindle commented on SM-670: Could you add this to 3.0.1 branch? thanks, j. Including JMSFlow in default servicemix.conf Key: SM-670 URL: https://issues.apache.org/activemq/browse/SM-670 Project: ServiceMix Issue Type: Improvement Components: servicemix-assembly Affects Versions: 3.0 Environment: All Reporter: Jamie McCrindle Assigned To: Guillaume Nodet Fix For: 3.1 It would be useful to have JMSFlow in addition to the SedaFlow and JCAFlow servicemix flows as part of the default install (SERVICEMIX_HOME/conf/servicemix.xml). That way third party components or applications that need to use synchronous remote exchanges can work out of the box. sm:jmsFlow jmsURL=tcp://localhost:61616 / -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (SM-670) Including JMSFlow in default servicemix.conf
[ https://issues.apache.org/activemq/browse/SM-670?page=all ] Jamie McCrindle updated SM-670: --- Attachment: servicemix.xml.jmsflow.patch patch for 3.0.1 Including JMSFlow in default servicemix.conf Key: SM-670 URL: https://issues.apache.org/activemq/browse/SM-670 Project: ServiceMix Issue Type: Improvement Components: servicemix-assembly Affects Versions: 3.0 Environment: All Reporter: Jamie McCrindle Assigned To: Guillaume Nodet Fix For: 3.1 Attachments: servicemix.xml.jmsflow.patch It would be useful to have JMSFlow in addition to the SedaFlow and JCAFlow servicemix flows as part of the default install (SERVICEMIX_HOME/conf/servicemix.xml). That way third party components or applications that need to use synchronous remote exchanges can work out of the box. sm:jmsFlow jmsURL=tcp://localhost:61616 / -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (SM-670) Including JMSFlow in default servicemix.conf
Including JMSFlow in default servicemix.conf Key: SM-670 URL: https://issues.apache.org/activemq/browse/SM-670 Project: ServiceMix Issue Type: Improvement Components: servicemix-assembly Affects Versions: 3.0 Environment: All Reporter: Jamie McCrindle It would be useful to have JMSFlow in addition to the SedaFlow and JCAFlow servicemix flows as part of the default install (SERVICEMIX_HOME/conf/servicemix.xml). That way third party components or applications that need to use synchronous remote exchanges can work out of the box. sm:jmsFlow jmsURL=tcp://localhost:61616 / -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (SM-674) jbi:installComponent (and others) fails authentication against default SM container
jbi:installComponent (and others) fails authentication against default SM container --- Key: SM-674 URL: https://issues.apache.org/activemq/browse/SM-674 Project: ServiceMix Issue Type: Bug Components: tooling Affects Versions: 3.0 Environment: Java 1.5, Windows XP SP2 Reporter: Jamie McCrindle Fix For: 3.1 When running the jbi:installComponent maven task to install a component into a running SM 3.0 container, it fails with an Authentication failed User not found message. Debug from maven as follows: [DEBUG] Configuring mojo 'org.apache.servicemix.tooling:jbi-maven-plugin:3.0-inc ubating:installComponent' -- [DEBUG] -- end configuration -- [INFO] [jbi:installComponent] installComponent: [echo] Installing C:\dev\component-mvn\component-task-jbi\target/component- task-jbi-1.0-beta2-SNAPSHOT-installer.zip to service:jmx:rmi:///jndi/rmi://local host:1099/jmxrmi [installComponent] Error accessing ServiceMix administration: Authentication fai led [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to execute: Executing Ant script: /jbi.build.xml [installComponent ]: Failed to execute. User does not exist [INFO] [DEBUG] Trace org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute: Execu ting Ant script: /jbi.build.xml [installComponent]: Failed to execute. at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa ultLifecycleExecutor.java:559) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandalone Goal(DefaultLifecycleExecutor.java:488) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau ltLifecycleExecutor.java:458) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan dleFailures(DefaultLifecycleExecutor.java:306) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen ts(DefaultLifecycleExecutor.java:273) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi fecycleExecutor.java:140) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) at org.apache.maven.cli.MavenCli.main(MavenCli.java:256) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to execute: Ex ecuting Ant script: /jbi.build.xml [installComponent]: Failed to execute. at org.apache.maven.script.ant.AntMojoWrapper.execute(AntMojoWrapper.jav a:37) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi nManager.java:412) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa ultLifecycleExecutor.java:534) ... 16 more Caused by: org.codehaus.plexus.component.factory.ant.AntComponentExecutionExcept ion: Executing Ant script: /jbi.build.xml [installComponent]: Failed to execute. at org.codehaus.plexus.component.factory.ant.AntScriptInvoker.invoke(Ant ScriptInvoker.java:227) at org.apache.maven.script.ant.AntMojoWrapper.execute(AntMojoWrapper.jav a:33) ... 18 more Caused by: C:\DOCUME~1\JamesM\LOCALS~1\Temp\plexus-ant-component30723.build.xml: 30: Error accessing ServiceMix administration at org.apache.servicemix.jbi.management.task.JbiTask.execute(JbiTask.jav a:272) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) at org.apache.tools.ant.Task.perform(Task.java:364) at org.apache.tools.ant.Target.execute(Target.java:341) at org.apache.tools.ant.Target.performTasks(Target.java:369) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) at org.apache.tools.ant.Project.executeTarget(Project.java:1185) at org.codehaus.plexus.component.factory.ant.AntScriptInvoker.invoke(Ant ScriptInvoker.java:222) ... 19 more Caused by: java.lang.SecurityException: Authentication failed at org.apache.servicemix.jbi.jmx.JaasAuthenticator.authenticate(JaasAuth
[jira] Commented: (SM-674) jbi:installComponent (and others) fails authentication against default SM container
[ https://issues.apache.org/activemq/browse/SM-674?page=comments#action_37099 ] Jamie McCrindle commented on SM-674: tried setting the username / password but they're configured as readonly in the jbi.mojo.xml (in fact, almost everything is configured as readonly). am i doing it wrong? jbi:installComponent (and others) fails authentication against default SM container --- Key: SM-674 URL: https://issues.apache.org/activemq/browse/SM-674 Project: ServiceMix Issue Type: Bug Components: tooling Affects Versions: 3.0 Environment: Java 1.5, Windows XP SP2 Reporter: Jamie McCrindle Fix For: 3.0.1, 3.1 When running the jbi:installComponent maven task to install a component into a running SM 3.0 container, it fails with an Authentication failed User not found message. Debug from maven as follows: [DEBUG] Configuring mojo 'org.apache.servicemix.tooling:jbi-maven-plugin:3.0-inc ubating:installComponent' -- [DEBUG] -- end configuration -- [INFO] [jbi:installComponent] installComponent: [echo] Installing C:\dev\component-mvn\component-task-jbi\target/component- task-jbi-1.0-beta2-SNAPSHOT-installer.zip to service:jmx:rmi:///jndi/rmi://local host:1099/jmxrmi [installComponent] Error accessing ServiceMix administration: Authentication fai led [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to execute: Executing Ant script: /jbi.build.xml [installComponent ]: Failed to execute. User does not exist [INFO] [DEBUG] Trace org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute: Execu ting Ant script: /jbi.build.xml [installComponent]: Failed to execute. at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa ultLifecycleExecutor.java:559) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandalone Goal(DefaultLifecycleExecutor.java:488) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau ltLifecycleExecutor.java:458) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan dleFailures(DefaultLifecycleExecutor.java:306) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen ts(DefaultLifecycleExecutor.java:273) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi fecycleExecutor.java:140) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) at org.apache.maven.cli.MavenCli.main(MavenCli.java:256) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to execute: Ex ecuting Ant script: /jbi.build.xml [installComponent]: Failed to execute. at org.apache.maven.script.ant.AntMojoWrapper.execute(AntMojoWrapper.jav a:37) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi nManager.java:412) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa ultLifecycleExecutor.java:534) ... 16 more Caused by: org.codehaus.plexus.component.factory.ant.AntComponentExecutionExcept ion: Executing Ant script: /jbi.build.xml [installComponent]: Failed to execute. at org.codehaus.plexus.component.factory.ant.AntScriptInvoker.invoke(Ant ScriptInvoker.java:227) at org.apache.maven.script.ant.AntMojoWrapper.execute(AntMojoWrapper.jav a:33) ... 18 more Caused by: C:\DOCUME~1\JamesM\LOCALS~1\Temp\plexus-ant-component30723.build.xml: 30: Error accessing ServiceMix administration at org.apache.servicemix.jbi.management.task.JbiTask.execute(JbiTask.jav a:272) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) at org.apache.tools.ant.Task.perform(Task.java:364) at org.apache.tools.ant.Target.execute(Target.java:341
[jira] Created: (SM-612) servicemix-service-engine could set the scope of servicemix-core to provided
servicemix-service-engine could set the scope of servicemix-core to provided Key: SM-612 URL: https://issues.apache.org/activemq/browse/SM-612 Project: ServiceMix Issue Type: Improvement Affects Versions: 3.0 Reporter: Jamie McCrindle Fix For: 3.1 servicemix-service-engine could set the scope of servicemix-core to provided so that core and all of it's dependencies (which should be in servicemix) aren't put into the component distribution as in: dependency groupIdorg.apache.servicemix/groupId artifactIdservicemix-core/artifactId version${servicemix-version}/version scopeprovided/scope /dependency -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (SM-607) Files dropped into the install directory sometimes result in a file in use by another process error
Files dropped into the install directory sometimes result in a file in use by another process error - Key: SM-607 URL: https://issues.apache.org/activemq/browse/SM-607 Project: ServiceMix Issue Type: Bug Components: servicemix-core Affects Versions: 3.0 Environment: Windows XP SP2, Java 5 Reporter: Jamie McCrindle Files dropped into the install directory sometimes result in a file in use by another process error. I assume that this is a race condition where the operating system hasn't completed copying the files when servicemix picks them up and so the exception is thrown. It's intermittent and a workaround is to drop the monitorInterval down from 1s to 10s. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (AMQ-704) ActiveIO compromises java.lang.System.properties
[ https://issues.apache.org/activemq/browse/AMQ-704?page=comments#action_36942 ] Jamie McCrindle commented on AMQ-704: - hi, is this really fixed or is the workaround considered the fix? if it's just the workaround, it's not great, since it fries hibernate 3.1 without the workaround. the workaround is pretty difficult to find and the setting of the DisableLocking system property is not a particularly friendly solution (especially if you don't want locking disabled). ActiveIO compromises java.lang.System.properties Key: AMQ-704 URL: https://issues.apache.org/activemq/browse/AMQ-704 Project: ActiveMQ Issue Type: Bug Environment: ActiveMQ 4.0RC2 (confirmed still around in the current ActiveIO SVN), Java 1.5 on Windows (but should be a problem anywhere). Reporter: matt hoffman Assigned To: Hiram Chirino Fix For: 4.0 When using the ActiveIO journal, it's putting a java.util.HashSet into the System.properties (using a properties.put() call that circumvents the normal System.putProperty() method, that only allows strings). This isn't allowed, according to java.util.Properties' contract, and therefore breaks other packages that rely on System.properties adhering to its contract. Most notably, it chokes Hibernate; however, anything that iterates through the System properties will fail after ActiveIO has compromised it with a non-String value. Honestly, I don't know why Properties doesn't allow non-String values, but oh well. From the java.lang.Properties docs: Because Properties inherits from Hashtable, the put and putAll methods can be applied to a Properties object. Their use is strongly discouraged as they allow the caller to insert entries whose keys or values are not Strings. The setProperty method should be used instead. If the store or save method is called on a compromised Properties object that contains a non-String key or value, the call will fail. The call is being made in org.apache.activeio.journal.active.ControlFile; I suppose a hack could be created that stringifies the HashSet before placing it in the properties and recreates it before getting it out again; atlernately, a simple singleton or static set could be used. I'd be happy to implement either one, if you'd like. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (SM-395) InOut doesn't failover to another node if source node is unavailable
InOut doesn't failover to another node if source node is unavailable Key: SM-395 URL: https://issues.apache.org/activemq/browse/SM-395 Project: ServiceMix Type: Improvement Components: servicemix-core Versions: incubation Reporter: Jamie McCrindle Fix For: incubation Currently, an InOut exchange will fail if its source component is unavailable. Ideally, if there a a cluster of the same component on different nodes and the source component is unavailable, servicemix should failover and pass the InOut exchange to one of the live components. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira