“小服务程序"GWT 中的(服务器端)初始化代码 [英] "Servlet" (server-side) initialization code in GWT

查看:19
本文介绍了“小服务程序"GWT 中的(服务器端)初始化代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在 GWT 应用程序的服务器端进行一次初始化?

How can I have a single time initialization on a server side of GWT app?

我可能想像 HttpServlet 那样你可以覆盖 init(),但旧习惯早就丢掉了;)

I may be thinking to much like HttpServlet where you can override init(), but old habits are long to lose ;)

我想做的是:

  • 加载一堆属性

  • load a bunch of properties

建立与数据库的连接

推荐答案

加载一堆属性?

注册 ServletContextListener 以在服务器启动时加载 Init 参数.

Register ServletContextListener to load Init parameters at server start-up.

加载属性并使其对其他类静态可见.

Load properties and make it visible to other classes statically.

我已经发布了一个示例代码 检索外部初始化参数服务程序

I have already posted a sample code Retrieve Init parameters outside servlet

建立到数据库的连接?

使用 JNDI 绑定数据源.

Use JNDI to bind the data source.

使用 Connection Utility 类获取连接并在完成后立即关闭连接.

Use Connection Utility class to get the connection as well as close the connection as soon as its done.

这是示例代码.

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

import com.woodmac.datavisualizer.shared.DVConstants;

public class ConnectionUtil {

    private DataSource dataSource;

    private static ConnectionUtil instance = new ConnectionUtil();

    private ConnectionUtil() {
        try {
            Context initContext = new InitialContext();
            dataSource = (DataSource) initContext.lookup(JNDI_LOOKUP_NAME);

        } catch (NamingException e) {
            e.printStackTrace();
        }
    }

    public static ConnectionUtil getInstance() {
        return instance;
    }

    public Connection getConnection() throws SQLException {
        Connection connection = dataSource.getConnection();
        return connection;
    }

    public void close(Connection connection) throws SQLException {
        if (connection != null && !connection.isClosed()) {
            connection.close();
        }
        connection = null;
    }
}

如果您在独立模式下使用 JBOSS.然后只需在 standalone.xml 中做一些条目来创建数据源.只需根据您的数据库连接更新其某些值,例如 connection-urluser-namepassword.

If you are using JBOSS in standalone mode. Then just do some entries in standalone.xml to create a data source. Just update some of its value as per your database connection such as connection-url, user-name and password.

在这种情况下,JNDI_LOOKUP_NAME 将是 java:jboss/datasources/oracle

In this case JNDI_LOOKUP_NAME will be java:jboss/datasources/oracle

<datasource jta="true" jndi-name="java:jboss/datasources/oracle" pool-name="OracleDS" enabled="true" use-java-context="true" use-ccm="true">
    <connection-url>jdbc:oracle:thin:@ipaddress:1521/sid</connection-url>
    <driver>oracle</driver>
    <new-connection-sql>select * from dual</new-connection-sql>
    <pool>
        <min-pool-size>20</min-pool-size>
        <max-pool-size>50</max-pool-size>
        <prefill>true</prefill>
    </pool>
    <security>
        <user-name>username</user-name>
        <password>password</password>
    </security>
    <validation>
        <check-valid-connection-sql>select * from dual</check-valid-connection-sql>
        <background-validation>true</background-validation>
    </validation>
    <timeout>
        <blocking-timeout-millis>30000</blocking-timeout-millis>
        <idle-timeout-minutes>1</idle-timeout-minutes>
        <use-try-lock>60</use-try-lock>
        <allocation-retry>1</allocation-retry>
    </timeout>
</datasource>

这篇关于“小服务程序"GWT 中的(服务器端)初始化代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆