OK, I thing I got it.
Although Code of
org.jboss.jms.server.ServerPeer
class look almost similar
But when I compared /xmdesc/ServerPeer-xmbean.xml file I found that
<attribute access="read-write" getMethod="getSecurityStore" setMethod="setSecurityStore">
<description>The SecurityStore implementation for the server.</description>
<name>SecurityStore</name>
<type>org.jboss.jms.server.SecurityStore</type>
</attribute>
Does not exist in JBM 1.4.5
Whereas two new attributes
<attribute access="read-write" getMethod="getSecurityDomain" setMethod="setSecurityDomain">
<description>The Security Domain to be used by the Server Peer</description>
<name>SecurityDomain</name>
<type>java.lang.String</type>
</attribute>
<attribute access="read-write" getMethod="getDefaultSecurityConfig" setMethod="setDefaultSecurityConfig">
<description>The Security config to use when the destination does not supply any</description>
<name>DefaultSecurityConfig</name>
<type>org.w3c.dom.Element</type>
</attribute>
has been added. These two attributes (DefaultSecurityConfig, SecurityDomain ) was part of SecurityStore bean @see SecurityStore bean above.
I copied these two entries directly into ServerPeer mbean
Now myServerPeer mbean looks something like
<mbean code="org.jboss.jms.server.ServerPeer"
name="jboss.messaging:service=ServerPeer"
xmbean-dd="xmdesc/ServerPeer-xmbean.xml">
<depends optional-attribute-name="PersistenceManager">jboss.messaging:service=PersistenceManager</depends>
<depends optional-attribute-name="JMSUserManager">jboss.messaging:service=JMSUserManager</depends>
<depends>jboss.messaging:service=Connector,transport=bisocket</depends>
<depends>jboss.messaging:service=SecurityStore</depends>
</mbean>