You must have seen or gone through the recent enhancement of SAP PI JMS “on demand connection”( Note 1294766 - Connect on Demand Feature for JMS Adapter). This is very good enhancement & option towards JMS connectivity. Working on several PI project we used this option and found some interesting points towards and strongly feel that this is not very easy option - there are several complex factors including some bugs fixing from SAP side as well which you have to take care.
Below point or observation on same else it can be a disadvantage or you can have issue with this.
1)Since this option creates connection on demand i.e. create and disconnect TCP/IP connection we need to very sure about the time out and time wait configuration on receiver side. Time wait configuration determines the time that must elapse before TCP/IP can release a closed connection and reuse its resources. Since on demand use very heavily the TCP/IP connection you have to release TCP/IP connection on time/quickly.
Ex tcp_keepinit=40
* Default value: 150(1/2 seconds)
* Recommended value: 40(1/2 seconds)
You can Follow IBM link of optimize the performance of Web Sphere Application Server for same.
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.doc...
2)Since this on demand feature create connection per message or create connection on keep alive configure on SAP JMS side you need to have enough TCP/IP port on receiver side. For example if you have default 0 value for this it means every message will create own TCP / IP connection and for that you should have enough TCP/IP port. Earlier XI was only having one connection for one channel but here one channel can have several connections. Depending on JMS configuration you should review your total TCP/IP port and need to increase them as per requirement.
3)Connection keep alive value on PI side :- You need to give this value depending on use of JMS channel , if you have regularly sending message is in interval (say 2 mins then it better to keep value >2 mins or 120 seconds) so that you can use same connection or if you have to send only few message in day then default value 0 sec is better and not keep connection alive for long time.
4) Analysis network use: you should also make analysis of your network that on demand connection TCP/IP load / extra connection load can be supported or not.
5) In end So many Corrections by SAP towards this feature:-
SAP Note 1442181 - JMS adapter deadlocks with Connection on Demand
Note 1358592 - NullPointerException with Connection on Demand
Note 1339077 - Automatic reconnection fails after OnDemand Connection patch
Note 1442181 -JMS adapter deadlocks with Connection on Demand