users@glassfish.java.net

Re: Programmatically create a JMS resource in Glassfish

From: <glassfish_at_javadesktop.org>
Date: Mon, 09 Aug 2010 07:10:20 PDT

Hi,
I create JMS ConnectionFactories and Destinations with following code:


public static void createConnection(AppserverConnectionSource conn, String jndiName)
            throws IOException, MalformedObjectNameException, NullPointerException,
            InstanceNotFoundException, MBeanException, ReflectionException,
            AttributeNotFoundException, InvalidAttributeValueException {

        DomainRoot domainRoot = conn.getDomainRoot();
        DomainConfig domainConfig = domainRoot.getDomainConfig();

        if (!domainConfig.getConnectorConnectionPoolConfigMap().containsKey(jndiName)) {
            Map<String, String> props = new HashMap<String, String>();
            props.put(ConnectorConnectionPoolConfigKeys.FAIL_ALL_CONNECTIONS_KEY, "true");

            ConnectorConnectionPoolConfig con = domainConfig
                    .createConnectorConnectionPoolConfig(jndiName, "jmsra",
                            "javax.jms.ConnectionFactory", props);
            con.setPropertyValue("UserName", "guest");
            con.setPropertyValue("Password", "guest");
            System.out.println("ConnectorConnectionPool " + jndiName + " created!");
        } else {
            System.out.println("ConnectorConnectionPool " + jndiName + " already exists!");
        }

        if (!domainConfig.getConnectorResourceConfigMap().containsKey(jndiName)) {
            Map<String, String> props2 = new HashMap<String, String>();
            props2.put(ResourceConfigKeys.ENABLED_KEY, "true");

            ConnectorResourceConfig conRes = domainConfig.createConnectorResourceConfig(
                    jndiName, jndiName, props2);
            System.out.println("ConnectorResource " + jndiName + " created!");
        } else {
            System.out.println("ConnectorResource " + jndiName + " already exists!");
        }
    }

    public static void createDestination(AppserverConnectionSource conn, String jndiName,
            String type, String physName) throws IOException,
            MalformedObjectNameException, NullPointerException,
            InstanceNotFoundException, MBeanException, ReflectionException,
            AttributeNotFoundException, InvalidAttributeValueException {
        DomainRoot domainRoot = conn.getDomainRoot();
        DomainConfig domainConfig = domainRoot.getDomainConfig();

        if (!domainConfig.getAdminObjectResourceConfigMap().containsKey(jndiName)) {
            Map<String, String> props = new HashMap<String, String>();
            props.put(ResourceConfigKeys.ENABLED_KEY, "true");

            AdminObjectResourceConfig adminObjectResource = domainConfig
                    .createAdminObjectResourceConfig(jndiName, "javax.jms." + type,
                            "jmsra", props);
            adminObjectResource.setPropertyValue("Name", physName);
            adminObjectResource.setEnabled(true);
            System.out.println("AdminObjectResource " + jndiName + " created!");
        } else {
            System.out.println("AdminObjectResource " + jndiName + " already exists!");
        }
    }
[Message sent by forum member 'jbe']

http://forums.java.net/jive/thread.jspa?messageID=479680