Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The service spring beans are configured in applicationContext.xml (not in action-servlet.xml) as singletons. Because of this, there should be no instance variables defined for your service other than static variables that you intend to be accessed across threads (users). For instance, in the example below, a static variable, log, is defined. This means all users will write to the same log file which is the behavior you want.

All of our services are subclasses of SAPServiceSupport which does have 4 instance variables (messageKeys, connectionMgr, messageMgr, packageName) which are all instantiated once with values from the applicationContext.xml config file when the Spring Framework instantiates the service.

convertRFCMessage

If the message objects returned from the back end have both the TYPE and MESSAGE fields, then you do not need to modify the method convertRFCMessage. Error messages are automatically handled by mortar. However, if some other type of object is returned instead that doesn't have these fields, you will need to add code in the convertRFCMessage method to convert these message objects to the RFCMessage type.

...