3

显然,使用现有的 domain.xml 文件并不是一个好主意,该文件是在使用 asadmin create-domain new_domain 创建新域时生成的,然后在运行 Glassfish 的嵌入式实例时使用它。找不到数据源等等。

这在这个线程上得到了证实:GLASSFISH-20270

但是,我的问题是,有没有办法获得 Glassfish 4.0 的 domain.xml 文件的“嵌入式版本”?

4

1 回答 1

3

这是 Embedded Glassfish 4.0 的默认 domain.xml。您可以更改它并将其放入您的项目中。

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

于 2015-06-13T15:11:29.863 回答