문제

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?

도움이 되었습니까?

해결책

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"/>

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top