apache > ws.apache
Pubscribe
 

Apache Pubscribe Release Notes

Note
If you have any services created prior to this release, it is strongly suggested that you regenerate the services to a clean directory and manually port any added code to the newly generated files. This will avoid any problems associated with the changes in this release.
Note
Please read the current Release Notes from the Apache WSRF project for changes to the "core" of Pubscribe.

Change History

Changes since the 1.0 release:

  • The SubscriptionManager WSDL has changed to include a ResourceProperty for the NotificationProducer's EPR.
  • Some API changes
  • Various refactorings and bug fixes
  • Added the ability to configure TopicExpressions via a config file. Please see the Developer's Guide for more information.
  • Added a TopicNamespaceRegistry. Please see the Developer's Guide for more information.
  • Removed dependency on Apache WS-Addressing. Since a project goal is to run on platforms other than Axis, and our usages were very simple, we decided to remove the dependency.

Changes since the 1.0 Beta release:

  • Removed the getInstance(..) method from the generated Home classes. The init() method should be used for initializing Resources at startup. See method call/comment in the generated ...Home.java file.
  • Added the generation of an Abstract...Home class which maintains the static Resource map specific to a Home. This was necessary to ensure each Home type maintains its cache across all instances.
  • Added getNamespaceVersionHolder method to the generated Home class. This returns the previously generated member variable.
  • Removed the ResourceKey interface. The AbstractResourceHome.find(..) method now takes an Object so that simple types like Strings may easily be used for lookups.
  • Changed the behavior of the AbstractResourceHome.add(..) and AbstractResourceHome.createInstance(..) method to determine if a Resource's EndpointReference (EPR) has been set, if it is null the EPR is generated and set on the Resource instance. This allows the implementor the opportunity to set the EPR themselves in the Home.init(..) method or let the createInstance/add(..) methods do it for them.
  • Added extra parameter to the jndi-config.xml file called baseWebAppUrl which by default is generated with the value of http://$IP_ADDRESS$:8080/pubscribe (or wsrf or muse). The parameter is used at runtime for building EPR's for a Resource. This URL may be modified to explicitly set a static IP address or host name, else you may replace $IP_ADDRESS$ with $HOST_NAME$ in which case the host name will be determined at runtime.
  • Changed the jndi-config.xml resourceKeyName parameter name to resourceIdentifierReferenceParameterName for better clarity.
  • Updated the schema for the jndi-config.xml for the metadata elements to make them more consistent.
  • Regenerated all XmlBeans-generated artifacts for the XmlBeans 2.0 release. This was necessary due to changes in their generated artifacts. Please regenerate any of your own XmlBeans-generated types.
  • Add Documentation: Enhanced Javadocs, Installation, Quick Demo, Tutorial, and Developers Guide.
  • Added a ServletContextListener implementation for initializing JNDI at startup. The original method of initializing JNDI was via an extension to AxisServlet which is now unnecessary.
  • Removed the TopicUtils.initNotificationProducerProperties() method and its generated method call from Resources which implement the NotificationProducer portType. The resource properties: Topic, FixedTopicSet, TopicExpressionDialects are now handled via a callback object which is registered in the generated Abstract...Resource.init() method. This allows for the properties to be more dynamic as the implementor adds and removes Topics.

Known Issues

  • Any time a home object is looked up from JNDI, its init() method is automatically invoked by the framework. This can cause an infinite loop if a home, from its init() method, looks up itself from JNDI. Though this theoretically should never be necessary, if you must do it, you'll need to wrap the body of your init() method in a conditional that checks if the home has already been initialized.

Please submit all issues to the Pubscribe project in Apache JIRA. If you are not sure whether something is a bug, post a question on one of the Pubscribe mailing lists.