Tuesday, July 28, 2009

LiveCycle WebSphere Database Connectivity

Just want to document this in case anyone else runs into issue:

Problem:
- You are trying to initialize the database on WebSphere 6.1.0.19 or higher but the initialization step failed. When you look at the log, you see bunch of these: Caused by: com.ibm.ws.Transaction.IllegalResourceIn2PCTransactionException: Illegal attempt to enlist multiple 1PC XAResources

Note: this may cause problems for folks who had an earlier installation of WebSphere 6.1.0.7, installed LiveCycle, then tried to patch WebSphere up to 6.1.0.19. You will see the Illegal attempt to enlist multiple 1PX XAResources. This may cause instability in your system. I would recommend updating to use the solution below.

Reason:
- In a version between 6.1.0.7 and 6.1.0.19, WebSphere depends to be smart, and try to identify the GenericDataStoreHelper class by looking into the JDBC libraries. So the default DataStore helper class is set to the specific one for the driver, for e.g. MicrosoftSQLServerDataStoreHelper, instead of the GenericDataStoreHelper.

Resolution:
1. login to websphere admin console (http://localhost:9080/admin)
2. Click on resources > data sources
3. click on IDP_DS,
4. For datastore helper class, select to use a custom one, and type the following in: com.ibm.websphere.rsadapter.GenericDataStoreHelper
5. repeat for EDC_DS
6. test data connections
7. run through initialize database from livecycle configuration manager (/opt/adobe/LiveCycle8.2/ConfigurationManager/bin/configurationManager.sh

Thursday, July 16, 2009

Setting JBOSS to leverage database fail over

We have a client who runs a clustered SQL Server instance leveraging a clustered JBOSS environment. We ran into problems in LiveCycle when the client fails over the database server from one node to the other. What we ended up doing is to set up jboss to round-robin a set of database connection URL, such that when one fails, it will try the other connection string. Here's how to set up the adobe-ds.xml and mssql-ds.xml to support database fail over:

<datasources>
<ha-local-tx-datasource>
<jndi-name>IDP_DS</jndi-name>
<connection-url>jdbc:sqlserver://DBSERVER1:PORT;DatabaseName=DBNAME|sqlserver://DBSERVER2:PORT;DatabaseName=DBNAME</connection-url>
<url-delimeter>|</url-delimeter>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<!-- newly added to test out connection retry -->
<connection-property name="autoReconnect">true</connection-property>
<connection-property name="maxReconnects">10</connection-property>
<connection-property name="initialTimeout">10</connection-property>
<user-name>DBUSER</user-name>
<password>DBPASSWORD</password>
<min-pool-size>1</min-pool-size>
<max-pool-size>30</max-pool-size>
<blocking-timeout-millis>60000</blocking-timeout-millis>
<idle-timeout-minutes>10</idle-timeout-minutes>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool-->
<check-valid-connection-sql>select count(*) from edcprincipalentity</check-valid-connection-sql>

<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>MS SQLSERVER2000</type-mapping>
</metadata>
</ha-local-tx-datasource>
</datasources>

Wednesday, April 1, 2009

Ensemble Tofino FAQ and new build

We get some common questions in our support email for tofino (tofinosupport@ensemble.com). Here's answer to some of them. But definitely send any support issues to the email address, we will do our best to address them.

- Ensemble Tofino is free, and will continue to be free.
- Ensemble Tofino requires Microsoft Visual Studio 2008 (Standard edition and up). There's currently no support for shell editions.
- There's no current plan for a design view, but keep sending those requests to the support email though. Always love to hear how people are using Tofino.
- Flex consulting requests can go through services@ensemble.com

New build available here. Some highlights from the change log:

1.2009.03.04
- TOF-236: use better java heap defaults
- TOF-237: Intellisense lagging for large files
- TOF-238: trace( and stage auto-complete to Trace( and Stage
- TOF-239: intellisense swallows space char when it shouldn't

1.2009.02.10
- TOF-113: Implement "Project from Existing Code..."
- TOF-230: fix build crashes due to limited memory
- TOF-231: auto-complete, auto-align, auto-highlight MXML end tags
- TOF-232: control-] does not move to matching token

1.2009.02.02
- bug fixes:
- TOF-89: object browser NavigateTo() should open item in browser
- TOF-97: make type refs in object browser signatures be hyper links
- TOF-98: have "small" constant values show in the full signature in the object browser
- TOF-196: make long builds be cancellable
- TOF-199: improve local debug/intellisense tooltip and watch displays
- TOF-207: project building always expands the entire solution explorer
- TOF-212: make code-completion more automatic
- TOF-213: add useful keywords in code completion menus
- TOF-214: navigation/code completion should work with unsaved parse trees
- TOF-215: Support Flash Player Version defined in project property
- TOF-218: annoying build warning: Failed to match the compile target
- TOF-221: auto align braces as they are typed
- TOF-225: debugger crash when setting an invalid breakpoint
- TOF-224: forbid setting multiple breakpoints on the same line of code

David - in Vancouver

Saturday, January 10, 2009

New tutorial created around building Flex application in Visual Studio utilziing Ensemble Tofino

Matt Wicks has created a tutorial content around building a flex application using Ensemble Tofino posted at DeveloperFusion. Take a look here and help get started on Flex in Visual Studio. Anyone running into issues around Ensemble Tofino, questions around consulting, feel free to contact tofinosupport@ensemble.com

David in rainy Vancouver.