+

Search Tips   |   Advanced Search

Specify write access to the temporary directory to support message-driven bean deployment on listener ports

When deploying a message-driven bean (MDB) against a listener port, we might receive an exception error if the application server's user ID does not have write access to the operating system's temporary directory.

For WebSphere Application Server v7 and later, listener ports are stabilized. We should plan to migrate the IBM MQ message-driven bean deployment configurations from using listener ports to using activation specifications. For more information about how to configure activation specifications for non-ASF mode, see Configure activation specifications for non-ASF mode. However, we should not begin this migration until we are sure the application does not have to work on application servers earlier than WAS v7. For example, if we have an application server cluster with some members at v6.1 and some at a later version, we should not migrate applications on that cluster to use activation specifications until after we migrate all the application servers in the cluster to the later version.

In order to deploy an MDB against a listener port make sure that the application server has write access to the temporary directory on the system. The following exception can occur if the application server does not have this permission:

[6/23/03 22:45:58:232 CDT] 673106a8 MsgListenerPo W WMSG0049E: 
Failed to start MDB PSSampleMDB against listener port SamplePubSubListenerPort  
[6/23/03 22:47:58:289 CDT] 673106a8 FreePool E J2CA0046E: 
Method createManagedConnectionWithMCWrapper caught an exception 
during creation of the ManagedConnection for resource 
JMS$SampleJMSQueueConnectionFactory, throwing ResourceAllocationException.  
Original exception:  javax.resource.spi.ResourceAdapterInternalException:
 createQueueConnection failed
com.ibm.mq.MQException: MQJE001: An MQException occurred: 
Completion Code 2, Reason 2009  
QJE003: IO error transmitting message buffer at 
com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:239) 

If we see this exception error, we can give the application sever write access to the temporary directory by completing the following steps.


Tasks

  1. Ensure that all application servers have write access to the temp directory. Use the chmod 1777 command on the directory if necessary.

  2. Create another subdirectory under the temp directory. For example, on UNIX systems create /tmp/mydir, and on Windows systems create\Temp\mydir. Use this directory as a "working directory" for the Jacl script.

  3. Stop and restart the server.

  • Troubleshoot messaging
  • Messaging troubleshooting tips
  • Application deployment troubleshooting tips