Thursday, March 09, 2006

Process Status Values

Here are the WLI_PROCESS_INSTANCE_INFO.PROCESS_STATUS column values and meanings.

0 = Running
1 = Aborted
2 = Suspended
3 = Complete
4 = Frozen
5 = Terminated

Friday, November 18, 2005

Exception Node Properties

Typical Recommended Exception Node Property Settings


Property Name Local Handler Group Handler Global Handler
-------------------- ----------------- ------------------ ------------------
"After Execute" rethrow rethrow skip
"Retry Count" 0 0 0
"Execute on Rollback" true true true

Wednesday, November 16, 2005

Logging Errors from Global Exception Node

Create an exception node from the start node
Add a "Perform" node
Gather and log detail:

StringWriter sw = new StringWriter();

String instanceId = context.getInstanceId();
String nodeName = context.getExceptionInfo().getExceptionNodeName(); context.getExceptionInfo().getException().printStackTrace(new PrintWriter(sw));
StringBuffer sb = new StringBuffer("Exception occurred in instance: ");
sb.append(instanceId);
sb.append(" - within node: " + nodeName);
sb.append("\n" + sw.toString());

log.error(sb.toString());

Tuesday, March 15, 2005

Debugging Jar'd code

I have JUnit EE code in my project that compiles into a Jar that is discovered by JUnit EE at runtime.

If I set breakpoints within the JUnit test class Workshop will not stop on the code.

However, if I run any workflow it puts Workshop in debug mode and my breakpoints work.

Note: any workflow will do, just create a basic one if you don't have any available. Also, a jpf might do the trick as well.

Friday, February 11, 2005

WLI DB Cleanup

If you want to clean out your WLI database you can use the following script to clean it out.

NOTE: after you run this, start your server... it will hang and thats OK. Cancel the server start and start the server again it should be fine.

DELETE FROM weblogicjmsstate;
DELETE FROM weblogicjmsstore;
DELETE FROM wli_b2b_decoder;
DELETE FROM wli_b2b_encoder;
DELETE FROM wli_b2b_java_class;
DELETE FROM wli_b2b_logic_plugin;
DELETE FROM wli_b2b_unique_key;
DELETE FROM wli_message_broker_dynamic;
DELETE FROM wli_process_def;
DELETE FROM wli_process_document;
DELETE FROM wli_process_doc_reference;
DELETE FROM wli_process_event;
DELETE FROM wli_process_instance_info;
DELETE FROM wli_process_tracking;
DELETE FROM wli_scheduler_info;
DELETE FROM wli_tpm_ebxml_binding;
DELETE FROM wli_tpm_rosettanet_binding;
DELETE FROM wli_tpm_trading_partner;
DELETE FROM wli_tpm_trading_partner_mgmt;
DELETE FROM wli_tpm_transport;
DELETE FROM wli_b2b_business_protocol_defn;
DELETE FROM wli_b2b_configuration;

After you run these you need to find the tables that start with JP and JC... run this Oracle sql to get that list:
select 'DROP TABLE ' || table_name || ';'
from tabs
where table_name like 'JPD%' or table_name like 'JCX%';

The result will be a series of drop statements that you can run.

NOTE: Stateless JPD tables will need to be created in all databases that are not referenced by Workshop (i.e. QA, Prod).

CREATE TABLE JPD_PROCESSES_MYWORKFLOW
(cg_id VARCHAR2(768) NOT NULL,
last_access_time NUMBER(19,0),
cg_data BLOB);

Memory Settings

Your Win XP system should have 1GB or more of RAM. I had 1GB and was just squeeking by... if you want to run Oracle and WLW on the same system you really need more than a gig to help working performance.

Set memory settings for your server startup:

  • In startWebLogic.cmd (i.e. :\bea\user_projects\domains\mydomain\startWebLogic.cmd) file
  • Set the -Xmx & -Xms settings to at least 256
  • such as: -Xmx256m -Xms256m
Set memory settings for WLW:
  • :\bea\weblogic81\workshop\Workshop.cfg
  • Set the -Xmx & -Xms settings to at least 256
  • such as: -Xmx384m -Xms384m
  • Keep an eye on the bottom right corner of workshop to see how much memory is being used
  • [ 40 / 256 ] means you are using 40mb of 256mb available