Copyright © 2008 Red Hat, Inc.
Late breaking and important information related to this release
JBoss Enterprise SOA Platform is a certified, tested, and supported platform suitable for developing Enterprise Application Integration and Service Oriented Architecture solutions.
It integrates best-of-breed open source frameworks and solutions including Hibernate, Seam, JBoss Transactions, JBoss Clustering, the JBoss Application Server, and JBoss Enterprise Service Bus (ESB).
These community developed and enterprise certified and supported products have been combined and tested to provide a solid, robust, and scalable platform.
Powered by legendary JBoss innovation and backed by Red Hat engineering and quality assurance, JBoss Enterprise SOA Platform is the platform of choice for a new generation of enterprise applications.
These Release Notes contain important information related to this release of the JBoss Enterprise SOA Platform.
SOA-76 - Full SOA install does not install ESB related examples
SOA-223 - SOA-Platform Port 8083, serving all deployed classes
SOA-249 - bpm_orchestration1 needs to be updated
SOA-375 - Mention that jUDDI/Scout combination in SOA-P may not be entirely compatible with EAP usage
SOA-396 - assert-jbossremoting-version in base-build.xml refers to exec-classpath before it is declared
SOA-398 - JAR duplicates in CR2
SOA-402 - Rule that uses a 'collect' and 'from' clause together causes problem
SOA-403 - RuleBase.removeRule() prevents other rules from being applied
SOA-404 - Rules behave incorrectly (randomly) in multi-threaded environment
SOA-405 - Document how to run clustered services
SOA_406 - The StoreURL attribute for ServiceBindingManager in /conf/jboss-service.xml points to the wrong dir
SOA-408 - JBPM unit tests many issues with PostgreSQL - jpdl test suite hangs
SOA-409 - bpm_orchestration2 generates "java.lang.NumberFormatException" warnings on dual-core systems
SOA-413 - Identity component is disabled in jbpm.esb
SOA-416 - The CR3 getting started guide refers to the Trailblazer - which we removed
SOA-420 - error in helloworld_hibernate_action QS readme file
SOA-425 - bin/probe.sh should be removed from standalone server
SOA-427 - schema tool broken for oracle
SOA-431 - helloworld_hibernate_action - Hibernate Interceptor events onSave, OnLoad return different subset of message - onDelete seems OK
SOA-434 - Remove unused console from distributed release: /opt/GA/jboss-soa-p-standalone.4.2.0/jboss-as/tools/console
SOA-436 - The GA builds include (2) versions of drools-core and drools-compiler .jars
SOA-438 - GroovyActionProcessor implementation is grossly inefficient
SOA-439 - Groovy security compromised
SOA-444 - soa jbpm-jpdl.jar should not contian server or designer directories
SOA-447 - FileGateways are not safe when used with more than one thread
SOA-448 - bpm_orchestration deployProcess targets use wrong dependency
SOA-456 - Infinite loop missing from notifications quickstart - client that reads from a topic
SOA-458 - Quickstart helloworldtopicnotifier/ReceiveJMSMessage.java - wait loop pushes CPU to 100%
SOA-459 - notifications quickstart references a message property that is not set
SOA-464 - SOA_Getting_Started_Guide.pdf fix
SOA-466 - org.jboss.soa.esb.actions.Notifier - NotifyQueues - fails if the queue to be notified has a listener defined
SOA-469 - FTPNotify problems with passive mode
SOA-471 - Wrong version string at top level SOA-P page
SOA-472 - JMSCourier does not look up Topic from JNDI, instead it tries to create it
SOA-474 - Document the issue with jBPM designer and white space
SOA-478 - JMS/TX integration only works in very restricted circumstances
SOA-479 - Document SOA-410 as it is db specific
SOA-480 - Document SOA-417 as being db specific
SOA-482 - error in schema/build.properties
For the latest version of these release notes for JBoss Enterprise SOA Platform please refer to the online documentation available at http://www.redhat.com/docs/manuals/jboss/.
There are two versions of the JBoss Enterprise SOA Platform:
the "standalone" version - standalone-soa-4.2.0
the "embedded EAP" version - soa-4.2.0
The standalone version is intended for use in environments where a lightweight solution is required; for example when a Java Application Server is already installed on the network. It does not include the JBoss Enterprise Application Platform with JBoss Application Server, Seam, Hibernate, or clustering. It provides core ESB (Enterprise Service Bus) functionality only.
The embedded EAP version includes, in addition to the Enterprise Service Bus functionality, the JBoss AS server and other components and frameworks to provide a fully-fledged application development environment. This version provides services such as clustering, transactions, and persistence through the JBoss Enterprise Application Platform.
In addition to these release notes, there is a docs
subdirectory that includes documentation for the JBoss Enterprise SOA
Platform. In the embedded EAP version of the platform the documentation
is split into two subdirectories. One contains documentation relating
to the ESB core of the SOA Platform, and the other contains
documentation relating to the EAP component. The standalone version has
the ESB document only in the docs directory.
The first document that you will probably be interested in is the document SOA_Getting_Started_Guide.pdf.
This document contains instructions to install and configure the
platform. You should check for the latest version of this guide at http://www.redhat.com/docs/manuals/jboss/.
There is another document GettingStarted.pdf
that comes from the ESB project. The Trailblazer demo app mentioned at
the end of that document is not shipped with the JBoss Enterprise SOA
Platform. However, there are a number of quickstart samples in the jboss-as/samples/quickstarts directory, with accompanying readme files.
There is also a very useful and interesting book SOA_ESB_JBPM_Integration_Guide.pdf in the docs
directory. This book demonstrates the integration of JBoss Business
Process Managmenet (JBPM) with the Enterprise Service Bus (ESB) in the
SOA Platform.
The included Hypersonic SQL database provides default "out of the box" database functionality for evaluation and development use only. It is NOT recommended or supported as a production-use database. Technical support is not available for this component, and while we are happy to accept bugs filed against this component, we do not make any commitment to fix them within a specific timeframe.
The following are important notes relating to the security of your system.
Two distinct jbpm-console.war
files are shipped with the platform. One is a development version which
allows unauthenticated access to deploy processes to the server, for
use with a graphical process design tool such as JBoss Developer Studio
while developing applications. The other is a production version which
secures the console against remote deployment. You should not run your server in a production environment with the unsecured development version of jbpm-console.war deployed. Doing so poses a threat to the security of your server.
In the standalone version, we ship with the unsecured uploader console by default. Initially, your server is configured for development. The jBPM JPDL will be able to deploy processes. Before putting it into production you should secure the console.
Copy the file /tools/resources/jbpm-console-production.war to /server/default/deploy/jbpm.esb/jbpm-console.war.
Copy /tools/resources/jbpm-console-development.war to /server/default/deploy/jbpm.esb/jbpm-console.war.
In each case the file must be overwritten. You can not have two versions of the war in the deployment directory.
In the embedded JBoss Enterprise Application Platform version, the "all" profile has the development version of the war, and the "production" profile has the production version. By default your server is configured to operate in a secure mode. To enable it for development mode you need to run in the unsecured mode of operation.
Start the server with no command line parameters or with the parameter "-c production"
Start the server using the parameter "-c all"
We do not recommend running the server on an unsecured network with the jbpm-console-development.war deployed or using the all profile without appropriate modification.
If you use RMI (Remote Method Invocation) you will want to make Port 8083 of your server accessible to clients. The EAP version of the server is configured out of the box to restrict the classes that it serves on this port. The standalone server, however, is configured out of the box to serve all deployable classes via this port. This has been done to allow the quickstarts to function correctly by default.
To change this behaviour you need to modify the following line in default/conf/jboss-service.xml:
<!-- Should non-EJB .class files be downloadable --> <attribute name="DownloadServerClasses">false</attribute>
The value for this attribute is set as true out of the box, and it should be set to false in actual production deployment to prevent the server from serving all deployable classes on Port 8083.
http://www.redhat.com/support/process/
http://www.redhat.com/support/policy/soc/production
http://www.redhat.com/support/policy/sla/production/
http://www.redhat.com/support/policy/soc/developer/
http://www.redhat.com/support/policy/sla/developer/
http://www.redhat.com/security/updates/jboss_notes/
The source code for the JBoss Enterprise SOA Platform is available via anonymous ftp from ftp://ftp.redhat.com/pub/redhat/soa-p/4.2.0/en/source/soa-4.2.0.zip.
Please check for an updated version of this release note at http://www.redhat.com/docs/manuals/jboss/.
The behaviour of JBoss Enterprise SOA Platform differs from that of JBoss Enterprise Application Platform in some JAXR Scout tests in our testsuite. This indicates differences between the jUDDI / Scout implementations that may have an effect on applications. At this stage there are no known instances of these differences affecting applications. However, if you find an instance of this difference affecting an application, please inform us.
Further Information: http://jira.jboss.com/jira/browse/SOA-354.
As a workaround for an issue in JBoss Messaging, which will be resolved in a future update, specific settings are required when configuring a datasource for use with JBoss Messaging.
If you reconfigure the datasource used by JBoss
Messenging, you should ensure that this datasource is used exclusively
by JBoss Messaging, and that the ds file contains the following elements:
<prepared-statement-cache-size>50</prepared-statement-cache-size> <share-prepared-statements>true</share-prepared-statements>
Further Information: This is a workaround for the issue described in http://jira.jboss.com/jira/browse/SOA-288
To enable a jms-jca-provider to talk to queues on other nodes you will need to use a provider adapter.
You will need to define an MBean representing the provider adapter, for example:
<mbean code="org.jboss.jms.jndi.JMSProviderLoader"
name="jboss.esb:service=JMSProviderLoader,name=RemoteJMSProvider,server=remote">
<attribute name="ProviderName">remoteProvider</attribute>
<attribute name="ProviderAdapterClass">
org.jboss.jms.jndi.JNDIProviderAdapter
</attribute>
<!-- The queue connection factory -->
<attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
<!-- The topic factory -->
<attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
<!-- Connect to JNDI on the host "remote" port 1099 -->
<attribute name="Properties">
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jnp.interfaces
java.naming.provider.url=remote:1099
</attribute>
</mbean>
This MBean should be defined in ha-jndi.xml on the node where the queue is really deployed
Then, in the definition of the jms-jca-provider you need to add a providerAdapterJNDI attribute, e.g:
providerAdapterJNDI="java:/remoteProvider"
The JCA adapter will use the provider adapter from JNDI to create the JNDI context.
Further Information: http://jira.jboss.com/jira/browse/JBESB-1460
As mentioned throughout the Programmers Guide, high-availability services within JBossESB are currently only supported if they are stateless. The Aggregator action is a stateful instance, which necessarily means that if it is used within the Action Pipeline/Chain of a service, that service is no longer stateless and therefore cannot be used in a high-availability manner.
Further information: http://jira.jboss.com/jira/browse/SOA-421
When JBPM is deployed on Linux using MySQL version 5.0.45 as the database concurrent signalling from multiple threads has been detected. As such, this combination is currently not recommended for production use. This issue is not present with MySQL version 5.0.27.
Further Information: http://jira.jboss.com/jira/browse/SOA-196.
Various errors and warnings are logged when running the jbpm_orchestration2
quickstart on a machine with multiple CPUs using HSQLDB or H2 as the
database. The HSQLDB database is provided with the platform as an
out-of-the-box db provider for testing purposes, but it is not a
supported production database. These errors are not logged when using a
Tier 1 supported database.
Further Information: http://jira.jboss.com/jira/browse/SOA-409 | http://jira.jboss.com/jira/browse/SOA-417 | http://jira.jboss.com/jira/browse/SOA-415 | http://jira.jboss.com/jira/browse/SOA-410
In this release the following gateways do not use the ServiceInvoker, and therefore do not provide load balancing:
JmsGatewayListener.java
HibernateInterceptor.java
SqlTableGatewayListener.java
Load balancing is performed when a raw message is transformed into an ESBMessage, or when an ESBMessage is sent to an ESB listener. Be aware that a raw (non-ESB) message sent through one of the above three gateways will not be load balanced.
When one of these gateways is deployed on multiple ESBs that listen to the same clustered queue they will share the load through JBM clustering, but there is no failover to another type of EPR.
These gateways will have load balancing enabled in a future release.
Running the webservice_wsaddressing
quickstart currently results in an error. In the standalone version of
the platform a message is produced on the console: "Cannot provide
WebServiceContext, since the current MessageContext does not provide a
ServletRequest". This is caused by a 181 dependency on an HttpServlet.
Presently, JBoss WS does not inject the WebServiceContext into the
webservice.
This is due to a current limitation in JBoss WS, and will be addressed in a future update.
Further Information: http://jira.jboss.com/jira/browse/SOA-348
When the server is under load JBPM operations have been observed to fail with a constraint violation exception when using Oracle or PostgreSQL. This has not been observed with MySQL. We've made calls to JBPM from the SOA server asynchronous and JBPM should retry these failures. It is a consequence of JBPM's optimistic locking policy.
Further Information: http://jira.jboss.com/jira/browse/JBESB-1511.
This version of JBoss Enterprise SOA Platform does not bundle development tools such as the Graphical Process Designer (GPD) for JBPM-PDL or a Rules Editor plug-in for Eclipse. These development tools and others are available in JBoss Developer Studio.
Adding a trailing space to a decision node expression will cause an exception to be thrown. To avoid this exception decision node expressions should not have a trailing space.
Further Information: http://jira.jboss.com/jira/browse/SOA-450
Some issues have been observed with message throughput in JBPM. In this release JBPM logging is disabled by default to address this.
Further Information: http://jira.jboss.com/jira/browse/SOA-429.
In JBoss Developer Studio, jbpm-jpdl-designer-3.1.2, or
jbpm-jpdl-designer-3.1.0.SP1, generating a form for a task while the
properties dialog is maximized results in a dialogue that will not
respond when the OK button is clicked. Examining the log reveals a java.lang.NullPointerException.
At this time the workaround is to generate the form without the
properties dialog maximized. Additionally, you should avoid using
whitespaces in task names, as this can also cause problems with form
generation.
Further Information: http://jira.jboss.com/jira/browse/SOA-250.
While editing the processdefinition.xml file of the websale example program shipped with jbpm-jpdl-suite-3.2.2 it is not possible to edit task properties using a right-click and the context menu.
The workaround for this issue is to navigate to the properties view using the menus and left-click, and do the editing from there.
Further Information: http://jira.jboss.com/jira/browse/SOA-190.