Question

Apparently, it is not a good idea to use an existing domain.xml file, generated when creating a new domain using asadmin create-domain new_domain, and later use it when running an embedded instance of Glassfish. DataSources can not be found etcetera.

This is confirmed on this thread: GLASSFISH-20270

However, my question is, is there any way to get a "embedded version" of the domain.xml file for Glassfish 4.0?

Was it helpful?

Solution

Here is the default domain.xml for Embedded Glassfish 4.0. You can change it and put it in your project.

<domain log-root="${com.sun.aas.instanceRoot}/logs" application-root="${com.sun.aas.instanceRoot}/applications" version="10.0">
<security-configurations>
    <authorization-service default="true" name="authorizationService">
        <security-provider name="simpleAuthorization" type="Simple" provider-name="simpleAuthorizationProvider">
            <authorization-provider-config support-policy-deploy="false" name="simpleAuthorizationProviderConfig"></authorization-provider-config>
        </security-provider>
    </authorization-service>
</security-configurations>
<system-applications />
<applications />
<resources>
    <jdbc-resource pool-name="__TimerPool" jndi-name="jdbc/__TimerPool" object-type="system-admin" />
    <jdbc-resource pool-name="DerbyPool" jndi-name="jdbc/__default" object-type="system-all" />
    <jdbc-connection-pool name="__TimerPool" datasource-classname="org.apache.derby.jdbc.EmbeddedXADataSource" res-type="javax.sql.XADataSource">
        <property value="${com.sun.aas.instanceRoot}/lib/databases/ejbtimer" name="databaseName" />
        <property value=";create=true" name="connectionAttributes" />
    </jdbc-connection-pool>
    <jdbc-connection-pool is-isolation-level-guaranteed="false" name="DerbyPool" datasource-classname="org.apache.derby.jdbc.EmbeddedDataSource" res-type="javax.sql.DataSource">
        <property name="databaseName" value="${com.sun.aas.instanceRoot}/lib/databases/embedded_default" />
        <property name="connectionAttributes" value=";create=true" />
    </jdbc-connection-pool>
</resources>
<servers>
    <server name="server" config-ref="server-config">
        <resource-ref ref="jdbc/__TimerPool" />
        <resource-ref ref="jdbc/__default" />
    </server>
</servers>
<configs>
    <config name="server-config">
        <http-service>
            <access-log rotation-interval-in-minutes="15" rotation-suffix="yyyy-MM-dd" />
            <virtual-server id="server" network-listeners="http-listener, https-listener" />
        </http-service>
        <iiop-service>
            <orb use-thread-pool-ids="thread-pool-1" />
            <iiop-listener address="0.0.0.0" port="3700" id="orb-listener-1" />
            <iiop-listener security-enabled="true" address="0.0.0.0" port="3820" id="SSL">
                <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" />
            </iiop-listener>
            <iiop-listener security-enabled="true" address="0.0.0.0" port="3920" id="SSL_MUTUALAUTH">
                <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" client-auth-enabled="true" />
            </iiop-listener>
        </iiop-service>
        <admin-service type="das-and-server" system-jmx-connector-name="system">
            <jmx-connector enabled="false" auth-realm-name="admin-realm" security-enabled="false" address="0.0.0.0" port="8686" name="system" />
            <das-config autodeploy-enabled="false" dynamic-reload-enabled="true" deploy-xml-validation="full" autodeploy-dir="${com.sun.aas.instanceRoot}/autodeploy" />
            <property value="/admin" name="adminConsoleContextRoot" />
            <property value="${com.sun.aas.installRoot}/lib/install/applications/admingui.war" name="adminConsoleDownloadLocation" />
            <property value="${com.sun.aas.installRoot}/.." name="ipsRoot" />
        </admin-service>
        <connector-service shutdown-timeout-in-seconds="30">
        </connector-service>
        <ejb-container steady-pool-size="0" max-pool-size="32" session-store="${com.sun.aas.instanceRoot}/session-store" pool-resize-quantity="8">
            <ejb-timer-service />
        </ejb-container>
        <mdb-container steady-pool-size="0" max-pool-size="32" pool-resize-quantity="8" >
        </mdb-container>
        <jms-service type="EMBEDDED" default-jms-host="default_JMS_host">
            <jms-host name="default_JMS_host" host="localhost" port="7676" admin-user-name="admin" admin-password="admin" lazy-init="false"/>
        </jms-service>
        <log-service file="${com.sun.aas.instanceRoot}/logs/server.log" log-rotation-limit-in-bytes="2000000">
            <module-log-levels />
        </log-service>
        <security-service activate-default-principal-to-role-mapping="true" jacc="simple">
            <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="admin-realm">
                <property value="${com.sun.aas.instanceRoot}/config/admin-keyfile" name="file" />
                <property value="fileRealm" name="jaas-context" />
            </auth-realm>
            <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="file">
                <property value="${com.sun.aas.instanceRoot}/config/keyfile" name="file" />
                <property value="fileRealm" name="jaas-context" />
            </auth-realm>
            <auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate" />
            <jacc-provider policy-configuration-factory-provider="com.sun.enterprise.security.provider.PolicyConfigurationFactoryImpl" policy-provider="com.sun.enterprise.security.provider.PolicyWrapper" name="default">
                <property value="${com.sun.aas.instanceRoot}/generated/policy" name="repository" />
            </jacc-provider>
            <jacc-provider policy-configuration-factory-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyConfigurationFactory" policy-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyProvider" name="simple" />
            <audit-module classname="com.sun.enterprise.security.ee.Audit" name="default">
                <property value="false" name="auditOn" />
            </audit-module>
            <message-security-config auth-layer="SOAP">
                <provider-config provider-id="XWS_ClientProvider" class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule" provider-type="client">
                    <request-policy auth-source="content" />
                    <response-policy auth-source="content" />
                    <property value="s1as" name="encryption.key.alias" />
                    <property value="s1as" name="signature.key.alias" />
                    <property value="false" name="dynamic.username.password" />
                    <property value="false" name="debug" />
                </provider-config>
                <provider-config provider-id="ClientProvider" class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule" provider-type="client">
                    <request-policy auth-source="content" />
                    <response-policy auth-source="content" />
                    <property value="s1as" name="encryption.key.alias" />
                    <property value="s1as" name="signature.key.alias" />
                    <property value="false" name="dynamic.username.password" />
                    <property value="false" name="debug" />
                    <property value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml" name="security.config" />
                </provider-config>
                <provider-config provider-id="XWS_ServerProvider" class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule" provider-type="server">
                    <request-policy auth-source="content" />
                    <response-policy auth-source="content" />
                    <property value="s1as" name="encryption.key.alias" />
                    <property value="s1as" name="signature.key.alias" />
                    <property value="false" name="debug" />
                </provider-config>
                <provider-config provider-id="ServerProvider" class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule" provider-type="server">
                    <request-policy auth-source="content" />
                    <response-policy auth-source="content" />
                    <property value="s1as" name="encryption.key.alias" />
                    <property value="s1as" name="signature.key.alias" />
                    <property value="false" name="debug" />
                    <property value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml" name="security.config" />
                </provider-config>
            </message-security-config>
            <property value="SHA-256" name="default-digest-algorithm" />
        </security-service>
        <monitoring-service>
            <module-monitoring-levels />
        </monitoring-service>
        <transaction-service tx-log-dir="${com.sun.aas.instanceRoot}/logs" >
        </transaction-service>
        <java-config>
            <jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks</jvm-options>
            <jvm-options>-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks</jvm-options>
            <jvm-options>-Dorg.glassfish.jms.InitializeOnDemand=true</jvm-options>
        </java-config>
        <network-config>
            <protocols>
                <protocol name="http-listener">
                    <http default-virtual-server="server" max-connections="250">
                        <file-cache enabled="false"></file-cache>
                    </http>
                </protocol>
                <protocol security-enabled="true" name="https-listener">
                    <http default-virtual-server="server" max-connections="250">
                        <file-cache enabled="false"></file-cache>
                    </http>
                    <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" ssl3-enabled="false" cert-nickname="s1as"></ssl>
                </protocol>
            </protocols>
            <network-listeners>
                <network-listener port="0" protocol="http-listener" transport="tcp" name="http-listener" thread-pool="http-thread-pool" enabled="false" />
                <network-listener port="0" protocol="https-listener" transport="tcp" name="https-listener" thread-pool="http-thread-pool" enabled="false" />
            </network-listeners>
            <transports>
                <transport name="tcp"></transport>
            </transports>
        </network-config>
        <thread-pools>
            <thread-pool name="http-thread-pool" max-queue-size="4096"></thread-pool>
            <thread-pool name="thread-pool-1" max-thread-pool-size="200"/>
        </thread-pools>
    </config>
</configs>
<property name="administrative.domain.name" value="domain1"/>

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top