Adobe LiveCycle Data Services ES 2.6.1 Release Notes

Adobe LiveCycle Data Services ES 2.6.1 Release Notes

Welcome to Adobe® LiveCycle® Data Services ES 2.6.1.

Last updated: October 31, 2008.

Minimum System Requirements:

LiveCycle Data Services ES requires a minimum of Adobe® Flex™ SDK 3.2 build 3794 (3.2.0.3794), which is included as part of the LiveCycle Data Services installation. To use Adobe® Flex™ Builder™ with LiveCycle Data Services ES, you must use Flex Builder 3.0.2.

Note: Make sure that you use the rpc.swc file that ships with LiveCycle Data Services ES 2.6.1. HTTP-based channels (AMF and HTTP) defined in prior versions of the rpc.swc file do not interoperate correctly with LiveCycle Data Services 2.6 or 2.6.1. Using an older version of the rpc.swc file can lead to issues with clients that do not use cookies. For more information on configuring your development environment, see "Building and deploying LiveCycle Data Services ES applications" in the "Adobe LiveCycle Data Services ES 2.6 Developer Guide".

These release notes includes the following sections:

Related topics:

What's new in LiveCycle Data Services ES 2.6.1

The LiveCycle Data Services ES 2.6.1 release fixes known issues in the previous release, but adds no new features.

This release includes two updates to the documentation:

  • An update to the "Integrating Flex applications with portal servers" chapter from the "Adobe LiveCycle Data Services ES 2.6 Developer Guide" which contains new information about using a portal server in a federated portal architecture. Download the PDF file to obtain this update.
  • An update to the "Using the Remoting Service" chapter from the "Adobe LiveCycle Data Services ES 2.6 Developer Guide" describes a resolution to bug BLZ-231 for using the AMFConnection API to call remote objects from Java applications. Download the PDF file to obtain this update.

    For more information on the AMFConnection Java class, see the AMFConnection API reference.

No other documentation changes were required for the LiveCycle Data Services ES 2.6.1 release. Continue to use the LiveCycle Data Services ES 2.6 documentation.

For more information, including samples and examples, see the LiveCycle Developer Center:

Fixed issues in LiveCycle Data Services ES 2.6.1

This release fixes the following issues in LiveCycle Data Services ES 2.6.

  • BLZ-252 and BLZ-253

    In LiveCycle Data Services ES 2.6, the match-on configuration property lets you set browser-specific limits to streaming channels for the kickstart-bytes and max-streaming-connections-per-session properties. The match-on values are compared against the User-Agent HTTP request header value returned from the browser. Therefore, to configure setting for specific browsers, determine the User-Agent request header value and then set the match-on configuration property accordingly. The match-on value can be a substring of the full User-Agent value.

    The following examples sets these properties for the Firefox browser:

    
    	
    	
    

    If multiple match-on values match the User-Agent HTTP request header value, the one with the longest match is used. In the example above, if the User-Agent HTTP request header value is "Firefox/3", the second match-on property is used since it has a longer match.

    In this release, you can now specify a match-on value of "*". A match-on value of "*" is the default configuration used to match a client that does not match any of the other match-on values. However, LiveCycle Data Services has built-in default settings for Internet Explorer (match-on="MSIE") and FireFox (match-on="Firefox"). Therefore, you must explicitly specify those browsers as the value of the match-on property to override the defaults.

    You can now include the user-agent-settings property for long polling channels, in addition to setting it for streaming channels, to set the max-streaming-connections-per-session property. The max-streaming-connections-per-session property limits the total number of long polling or streaming connections that can be made from a client to the endpoint in the same browser session. If a long polling channel attempts to connect to an endpoint that is already at the number of connections specified by max-streaming-connections-per-session, the long polling channel will use polling instead.

    LiveCycle Data Services maintains a single setting of max-streaming-connections-per-session. Therefore, set max-streaming-connections-per-session to the same value for all streaming and long polling channels.

  • BLZ-83 - LC DS now supports NetConnection calls over HTTP from FMS3.
  • BLZ-176 - No authentication error when a Producer tries to send a message over streaming channel with insufficient credentials.
  • BLZ-188 - MBeanServerGateway.queryNames() and queryMBeans() methods can throw a ClassCastExceptions error.
  • BLZ-198 - MBeanServerGateway.getFlexDomains() can throw a StringIndexOutOfBoundsException error.
  • BLZ-200 - Setting virtual-host in proxy-config can cause a ConfigurationException error.
  • BLZ-201 - Configuring a host and port for proxy setting can cause a ConfigurationException.
  • BLZ-210 - Java-Enums not mapped correctly when using StreamingAMFEndpoint.
  • BLZ-217 - Add a resources/lib directory to BlazeDS turnkey with messaging JAR files.
  • BLZ-212 - The values of properties within blocks in configuration files need to be trimmed.
  • BLZ-221 - After removing a symbol, it could not be added back to the list.
  • BLZ-223 - Send/receive messages over streaming HTTP channels not functioning properly in build 2560.
  • BLZ-224 - The description for the Trader Desktop application said that one of the channels used by the application was long-polling, but long-polling isn't used in the sample.
  • BLZ-225 - flex.samples.marketdata.Stock application is not serializable, and the example can fail in a cluster.
  • BLZ-227 - When using a JMS Destination, MessageClient and FlexClient are not released from memory when the session times out.
  • BLZ-231 - Expose the instantiateTypes property of SerializationContext on the AMFConnection Java class.
  • LCDS-148 - An IllegalThreadStateException can be thrown in JOTM.
  • LCDS-176 - The Oracle OC4J web application server ships with its own implementation of JAXP, which is not compatible with PDF generation.
  • LCDS-177 - Oracle TopLink, packaged by default with OC4J, and Hibernate use antlr.jar, which results in class name collisions.
  • LCDS-211 - Server startup intermittently hangs with "SocketServer 'my-rtmp-SocketServer' cannot bind to accept client connections on port '2038'......." exception.
  • LCDS-263 - An error can occur when using Hibernate with an application server that contains a version of antlr.jar that conflicts with the Hibernate version.
  • LCDS-270 - On SAP Netweaver, LiveCycle Data Services ES can throw an exception at startup when a Hibernate destination is defined.
  • LCDS-329 - AMF streams can becomes corrupted when serializing XML documents that exist in an object graph.
  • LCDS-333 - Make Sequence.subscriberIds a concurrent hashmap.
  • LCDS-335 - RTMP connections on the server should prevent writes of AMF data having length >= 2^24 bytes.
  • LCDS-351 - Commit after delete with deleted item as parameter to the commit can cause a runtime error.
  • LCDS-352 - Update Coldfusion 8.01 integration with LCDS 2.6.
  • LCDS-358 - RTMPS writes can stall when network TCP buffers back up.
  • LCDS-363 - Hierarchical values with array setItem() calls do not revert properly.
  • LCDS-366 - RTMP/NIO Server endpoints can fail to start on ZSeries.
  • LCDS-370 - Passing user credentials from Flex application to WAS 6.1 returns java.lang.ClassCastException.
  • LCDS-385 - Redeploying a Flex application to FDS 2.0.1 on Weblogic can cause a memory leak.
  • LCDS-388 - Creation of nested graph might not create all associated items.
  • LCDS-428 - Disable polling on non-polling channels.
  • LCDS-440 - Offline and nested associations can return incorrect metadata.
  • LCDS-447 - The Ajax Bridge ICursorView class now works correctly with Flash Player 10.
  • SDK-16086 - Credentials can be cleared following a server crash or network disconnect. This situation can cause automatic reconnect to secure destinations to fail.
  • vendors.properties file which is used in vendor specific login commands was not being read properly and as a result some login related error messages were not being displayed correctly.

Known issues in LiveCycle Data Services ES 2.6.1

  • 210834 NIO-based channels do no work in an IPv6 environment on Microsoft Windows. See the following Sun bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6230761
  • A MIME type mapping for Adobe AIR applications is required to allow browsers to download AIR applications. The correct MIME type mapping for AIR is "application/vnd.adobe.air-application-installer-package+zip air". For more information, see http://www.adobe.com/support/documentation/en/air/1/AIR1_release_notes.pdf.
  • Use the following procedure to configure JDBC data sources to support transactions in the Tomcat 6 server:
    1. For each data source defined by a tag, add the following attribute:
      factory="org.objectweb.jndi.DataSourceFactory"
    2. Create a carol.properties file in the tomcat/lib directory that contains the following:
      # JNDI (Protocol Invocation)
      carol.protocols=jrmp
      
      # Local RMI Invocation
      carol.jvm.rmi.local.call=false
      
      # do not use CAROL JNDI wrapper
      carol.start.jndi=false
      
      # do not start a name server
      carol.start.ns=false
      
      # Naming Factory
      carol.jndi.java.naming.factory.url.pkgs=org.apache.naming
      
  • Runtime substitution of tokens (such as server.name and server.port) in endpoint URLs in channel configurations do not work in AIR applications. Destinations that service AIR applications must not be configured with channels containing tokens; use literal URL values instead.
  • BLZ-48 The Apache connector, and other older HTTP proxies, buffer HTTP responses to effectively block streaming connections. The workaround is to use simple polling or long-polling channels instead of streaming channels. This issue effects WebOTX, OC4J 10.1.3.3, and SAP Netweaver CE 7.1 SP3 application servers.
  • LCDS-259 UserTransaction not working on Fujitsu Interstage

    This issue effects NIO-based RTMP, AMF, and HTTP endpoints with transactions enabled. As a workaround, disable transactions or use one of the servlet-based endpoints.

  • LCDS-325 LiveCycle ES services invoked by Remoting can pass documents containing only XML back to Flex clients by setting the type of DocumentReference to INLINE. These documents cannot be immediately used as input parameters to other LiveCycle services invoked by Remoting.

    For example, you invoke the RepositoryService by Remoting using the following procedure:

    1. Call the readResource() method to read an object which contains inline XML.
    2. Call the updateResource() method and pass in the DocumentReference object returned from the readResource() method. This invocation results in the following error: "DocumentReference type is set to INLINE but content passed in was empty."

    The workaround is before calling the updateResource() method, set the text property of the passed-in DocumentReference to the xml property of the DocumentReference returned from the readResource() method. For example:

      param.resource.content.dataDocument.text = readResourceResult.content.dataDocument.xml;
    

    In this example, readResourceResult contains the result returned from the readResource() method.

  • LCDS-355 On Tomcat, a conflict with the commons-logging.jar file in JOTM can cause a LogConfigurationException.

    To work around this issue, remove the commons-logging.jar file from the WEB-INF/lib directory.

  • LCDS-451 - JBoss 2.6.6 does not provide complete support for federated portlets. Therefore, you cannot use LiveCycle Data Services ES in a federated portlet configuration with JBoss 2.6.6. Specifically, JBoss does not correctly rewrite resource URLs to proxy requests through the consumer server.
  • LCDS-493 - The following issues may occur if you are running a Websphere portal server in a consumer/producer mode with a Flex-based portlet:
    • The consumer portal server interferes with streaming HTTP channels causing them to fail. To work around this issue, use polling or long-polling channels instead.
    • The channel_uri value is URL encoded, preventing the consumer portal from correctly rewriting it. To work around this issue, update the portal_view.jsp file to not URL encode the channel_uri value by replacing the following line:
      String channelPath = java.net.URLEncoder.encode(renderResponse.encodeURL(renderRequest.getContextPath() + channel_uri), "utf-8");

      with this line:

      String channelPath = renderResponse.encodeURL(renderRequest.getContextPath() + channel_uri);

Adobe LiveCycle Data Services ES 2.6 Release Notes

Welcome to Adobe® LiveCycle® Data Services ES 2.6.

Note: LiveCycle Data Services ES requires a minimum of Adobe® Flex™ SDK 3 build 1732 (3.0.1.1732), which is included as part of the installation. To use Adobe® Flex™ Builder™ with LiveCycle Data Services ES, you must use Flex Builder 3.

These release notes includes the following sections:

Related topics:

What's new in LiveCycle Data Services ES 2.6

The following list describes some of the major new features and changes for LiveCycle Data Services ES. For more information on new features, samples, and examples, see the LiveCycle Developer Center:

Features

Improved server performance and scalability - LiveCycle Data Services ES 2.6 performance has been improved from its previous version. See the performance and capacity planning report for more details.

Alignment with Adobe Flex 3 - LiveCycle Data Services ES 2.6 supports the releases of Adobe Flex 3 and Adobe Flex Builder 3.

Improved LiveCycle Foundation integration features - You can now define data management data sources with LiveCycle ES components, the mechanism you use to write new components with LiveCycle Foundation. LiveCycle Data Services ES also supports single-sign on for LiveCycle Remoting applications and LiveCycle services which use the enumerated data type. You can also push changes to Flex clients in real time from LiveCycle processes. (Requires LiveCycle ES 8.2)

Improved RTMP performance and scalability - Supports more concurrent users on the same server infrastructure.

Scalable HTTP based channel - Supports thousands of connections for each Java process. You can use the RTMP channel if you are able to make these connections from your clients directly to the LiveCycle Data Services ES process. You can use the scalable HTTP based channel infrastructure if your clients can only connect to your servers using the HTTP protocol. Using the flexible ChannelSet mechanism of LiveCycle Data Services ES, it is easy to support a list of channels so your clients can connect using the implementation which provides the most efficient implementation.

Data Management paging improvements - LiveCycle Data Services ES 2.5.1 introduced a mechanism which let you page from the clients directly to the database but this mechanism was not supported with the "auto sync" feature. With this release, that restriction has been removed. You can now do efficient on demand paging directly to the database while the clients are kept up to date with the latest changes. You can also now turn on paging for associations in your object model which improves the efficiency with which you can manipulate large object models.

Data Management offline improvements - Using the SQL database contained in Adobe AIR, you can use the offline support introduced in LiveCycle Data Services ES 2.5.1 to persist data directly to a SQL database. With little additional code, you can use an application written to use data management offline with complete access to any data and queries you executed online. To do so, specify a cache id and either use the auto-save option or explicitly save queries or items you want to persist offline for retrieval later.

Data Management improved subtype support - Data management now supports object models where associations are added in a subtype. Previously a single destination could manage a type hierarchy but all types had to have the same set of associations. Now you can define a destination for each class which parallels the object hierarchy using a new "extends" attribute. A subclass can add additional associations.

Data Management and Hibernate improvements - Configuration of hibernate destinations has been made much simpler and less error prone. Support for Hibernate Annotations is also provided.

Known issues in LiveCycle Data Services ES 2.6

  • 210834 NIO-based channels do no work in an IPv6 environment on Microsoft Windows. See the following Sun bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6230761
  • A MIME type mapping for Adobe AIR applications is required to allow browsers to download AIR applications. The correct MIME type mapping for AIR is "application/vnd.adobe.air-application-installer-package+zip air". For more information, see http://www.adobe.com/support/documentation/en/air/1/AIR1_release_notes.pdf.
  • Use the following procedure to configure JDBC data sources to support transactions in the Tomcat 6 server:
    1. For each data source defined by a tag, add the following attribute:
      factory="org.objectweb.jndi.DataSourceFactory"
    2. Create a carol.properties file in the tomcat/lib directory that contains the following:
      # JNDI (Protocol Invocation)
      carol.protocols=jrmp
      
      # Local RMI Invocation
      carol.jvm.rmi.local.call=false
      
      # do not use CAROL JNDI wrapper
      carol.start.jndi=false
      
      # do not start a name server
      carol.start.ns=false
      
      # Naming Factory
      carol.jndi.java.naming.factory.url.pkgs=org.apache.naming
      
  • Runtime substitution of tokens (such as server.name and server.port) in endpoint URLs in channel configurations do not work in AIR applications. Destinations that service AIR applications must not be configured with channels containing tokens; use literal URL values instead.
  • LCDS-177 Oracle TopLink, packaged by default with OC4J, and Hibernate use antlr.jar, which results in class name collisions. The workaround for this issue is documented here: http://download-west.oracle.com/docs/cd/B25221_04/web.1013/b14433/opensrc.htm#BABFDGBG.
  • LCDS-176 The Oracle OC4J web application server ships with its own implementation of JAXP, which is not compatible with PDF generation. To workaround this issue, copy another JAXP implementation, such as Apache Xalan, to your WEB-INF/lib directory and set the following java.lang.System property at runtime in your RemoteObject class:
    System.setProperty("javax.xml.transform.TransformerFactory", "org.apache.xalan.processor.TransformerFactoryImpl");

    Recompile your RemoteObject class and restart the web application server for this change to take effect.

  • LCDS-148 An IllegalThreadStateException can be thrown in JOTM. For more information, see the following bug report: http://forge.objectweb.org/tracker/index.php?group_id=19&atid=100019
  • BLZ-48 The Apache connector, and other older HTTP proxies, buffer HTTP responses to effectively block streaming connections. The workaround is to use simple polling or long-polling channels instead of streaming channels. This issue effects WebOTX, OC4J 10.1.3.3, and SAP Netweaver CE 7.1 SP3 application servers.
  • LCDS-259 UserTransaction not working on Fujitsu Interstage

    This issue effects NIO-based RTMP, AMF, and HTTP endpoints with transactions enabled. As a workaround, disable transactions or use one of the servlet-based endpoints.

  • LCDS-325 LiveCycle ES services invoked by Remoting can pass documents containing only XML back to Flex clients by setting the type of DocumentReference to INLINE. These documents cannot be immediately used as input parameters to other LiveCycle services invoked by Remoting.

    For example, you invoke the RepositoryService by Remoting using the following procedure:

    1. Call the readResource() method to read an object which contains inline XML.
    2. Call the updateResource() method and pass in the DocumentReference object returned from the readResource() method. This invocation results in the following error: "DocumentReference type is set to INLINE but content passed in was empty."

    The workaround is before calling the updateResource() method, set the text property of the passed-in DocumentReference to the xml property of the DocumentReference returned from the readResource() method. For example:

      param.resource.content.dataDocument.text = readResourceResult.content.dataDocument.xml;
    

    In this example, readResourceResult contains the result returned from the readResource() method.

  • LCDS-263 The following error can occur when using Hibernate with an application server that contains a version of antlr.jar that conflicts with the Hibernate version:
    org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

    To workaround this issue, add the following lines to the Hibernate configuration file (hibernate.cfg.xml):

    org.hibernate.hql.classic.ClassicQueryTranslatorFactory>
    
    
  • LCDS-270 On SAP Netweaver, LiveCycle Data Services ES throws the following exception at startup when a Hibernate destination is defined:
    org.hibernate.InvalidMappingException 
    

    Use the following workaround:

    1. Add Xerces to the classpath.
    2. Add the following lines to the Hibernate configuration file (hibernate.cfg.xml):
      org.hibernate.hql.classic.ClassicQueryTranslatorFactory>
      
      
  • LCDS-211 The LiveCycle Data Services ES server fails to bind to a port on startup, and you see an error message in the form:
    Exception in thread "my-rtmp-SocketServer-Acceptor1-port-2038" flex.messaging.LocalizedException: 
    SocketServer 'my-rtmp-SocketServer' cannot bind to accept client connections on port '2038' 
    because another process has already bound the port. 
    Please ensure that multiple endpoints across all applications are not configured to use this same port.

    The workaround is to make sure that you do not have any other processes already bound to that port. Or, wait until all TCP connections for a previous invocation of the server have completed their TIME_WAIT state, then restart the server.

你可能感兴趣的:(Adobe LiveCycle Data Services ES 2.6.1 Release Notes)