精华内容
下载资源
问答
  • 在我们开发web项目的时候重启应用服务器是我们最烦恼的事情,每次修改类文件或者配置文件后,我们必须重启服务器来重新加载,使得我们的修改才能及时的显现出来,这个时候,我们只能等待服务器的重启,一般都需要20...
  • MyEclipse中web开发修改类文件和配置文件重启服务器的方法

    MyEclipse中web开发修改类文件和配置文件不重启服务器的方法


    在java web实际开发中我们在修改配置文件与java代码时往往会重新部署或者重新启动tomcat服务器,为了提高开发效率,现总结以下方法以在网络共享(高手莫看)

    一 、修改struts2配置文件不用重启方法

    方法1:


    在src目录下新建一个文件struts.properties,打开编辑,加入以下语句


    struts.devMode=true         #是否设置为开发模式

    struts.i18n.reload=true    #国际化自动重新部署

    struts.configuration.xml.reload=true     #重新加载xml文件



    上面的语句分别为是否为struts开发模式、是否国际化信息自动加载、是否重新加载xml配置(true,false),第一次修改需要重启tomcat服务器。


    方法2:

    在struts2配置文件中加入以下语句(此处要重新启动,以后修改配置文件就不用重启了)


    <constant name="struts.configuration.xml.reload" value="true"/>



    二:修改java代码(如action)无需重启与部署方法

    方法1:


    使用第三方插件jrebel(收费插件)下载地址:http://www.zeroturnaround.com/releases/jrebel-2.1.1.zip,网上可以搜索破解方法

    下载后解压到:D:/jrebel-2.1.1/下面,会看到有一个jrebel.jar与相关的帮助文档

    在Myeclipse中:菜单windows—>Preferences—>MyEclipse—>Servers—>Tomcat-> 找到Optional program arguments文本框输入下面的语句:

    -noverify -javaagent:D:/jrebel-2.1.1/jrebel.jar

    其中:"noverify -javaagent”是参数;D:/jrebel-2.1.1/jrebel.jar是jrebel.jar的存放地方 ,根据你具体情况做修改


    方法2:

    在WebRoot下的META-INF文件夹中新建一个名为context.xml文件,里面添加如下内容(要区分大小写):

    <Context reloadable = "true">

    </Context>


    本文转载自:http://blog.csdn.net/lillllllll/article/details/5643976

    展开全文
  • 把JDBC工具类中的数据库名,用户名,密码等信息放到properties配置文件中,在配置文件修改数据库信息不用重启服务器就能修改成功。因为配置文件需要编译,每次运行类自动加载。 public class JDBCUtils { //...

    把JDBC工具类中的数据库名,用户名,密码等信息放到properties配置文件中,在配置文件中修改数据库信息不用重启服务器就能修改成功。因为配置文件不需要编译,每次运行类自动加载。

    public class JDBCUtils {
    
        //驱动
        private static String driverName;
        //JDBC链接串
        private static String url;
        //数据库名字
        private static String userName;
        //数据库密码
        private static String password;
    
        //静态代码块,目的:让第一次使用到JDBCUtils时加载驱动,第二次以后不再加载
        static {
            try {
                //获取配置文件
                Properties ps = new Properties();
                ps.load(new FileReader("jdbc_config.properties"));
                driverName = ps.getProperty("driverName");
                url = ps.getProperty("url");
                userName = ps.getProperty("userName");
                password = ps.getProperty("password");
                //1.加载驱动
                Class.forName(driverName);
            } catch (Exception e) {
                throw new RuntimeException("驱动加载失败");
                //当驱动加载失败时,让程序直接停止运行
            }
        }
    
        //获取数据库连接
        public static Connection getConnection() throws Exception {
    
            //2.获取数据库的连接对象
            Connection connection = DriverManager.getConnection(url,userName,password);
            return connection;
        }
    
        //关闭所有资源
        public static void closeAll(Connection con, Statement st, ResultSet rs)  {
            if(con != null){
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(st != null){
                try {
                    st.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
           if(rs != null) {
               try {
                   rs.close();
               } catch (SQLException e) {
                   e.printStackTrace();
               }
           }
        }
    }
    

    配置文件内容:
    在这里插入图片描述

    展开全文
  • 通过文件的当前时间和上次修改时间做比较,判断是否需要重新读取文件,从而实现不重启服务器获取修改后的参数 package com.shp.util; import java.io.File; import java.io.FileInputStream; import java.io....

    通过文件的当前时间和上次修改时间做比较,判断是否需要重新读取文件,从而实现不重启服务器获取修改后的参数

    package com.shp.util;
     

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Collection;
    import java.util.Properties;

    public class LoadConfigUtil {
        public static Properties properties;
        public static File file;
        public static long lastModifyTime;
        
        //服务器启动时加载配置文件到内存
        static {
            LoadConfigUtil.load("fileName");
        }

        /**
         * 读取配置文件,并加载属性列表到Properties对象中 记录文件的最后一次修改时间
         * @param pathName 文件的路径
         */
        public static void load(String pathName) {
            properties = new Properties();
            FileInputStream fis = null;
            file = new File(pathName);
            try {
                fis = new FileInputStream(file);
                properties.load(fis);
                //获取文件的最后更新时间
                lastModifyTime = file.lastModified();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                try {
                    fis.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

        /**
         * 获取配置文件所有的value
         * 判断文件是否修改过, 是,重新读取配置文件,并返回 否,从Properties中获取返回
         * @param fileName 配置文件路径
         * @return
         */
        public static String getAllValues(String fileName) {
            file = new File(fileName);
            //判断文件是否修改过
            if (file.lastModified() > lastModifyTime) {
                System.out.println("file has been modified , need to reload!");
                load(fileName);
            }
            Collection<Object> values = properties.values();
            String v = values.toString();
            return v;
        }
        
        /**
         * 获取配置文件 key的值
         * 判断文件是否修改过, 是,重新读取配置文件,并返回 否,从Properties中获取返回
         * @param key key的名字
         * @return
         */
        public static String get(String key) {
            file = new File("配置文件路径");
            //判断文件是否修改过
            if (file.lastModified() > lastModifyTime) {
                System.out.println("file has been modified , need to reload!");
                load("pathName");
            }
            return properties.getProperty(key);
        }
    }

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------

    用Quartz,根据设定的时间间隔来定时检查配置文件是否被修改,如被修改,重新读取

    package com.shp.util;
     
    import java.util.Date;
    import org.quartz.CronScheduleBuilder;
    import org.quartz.JobBuilder;
    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerException;
    import org.quartz.SchedulerFactory;
    import org.quartz.Trigger;
    import org.quartz.TriggerBuilder;
    import org.quartz.impl.StdSchedulerFactory;
    import com.shp.test.watchService.CronJob;
     
    public class RAMQuartzUtil {
        
        public static void startTask(String key,String value) throws SchedulerException {
        //1.创建Scheduler的工厂
        SchedulerFactory  sf = new StdSchedulerFactory();
        //2.从工厂中获取调度器实例
        Scheduler scheduler = sf.getScheduler();
        //3.创建JobDetail
        JobDetail jd=JobBuilder.newJob(CronJob.class).withDescription("this is ram job").withIdentity("ramjob", "ramgroup").build();
        //存放附加信息到jobDataMap中,便于在excute方法中获取
          jd.getJobDataMap().put(key,value); 
        //任务运行的时间,SimpleSchedle类型触发器有效
         long time=  System.currentTimeMillis() + 3*1000L; //3秒后启动任务
         Date startTime = new Date(time);//将时间戳转化为标准时间 //4.创建Trigger
         //使用SimpleScheduleBuilder或者CronScheduleBuilder
         Trigger t = TriggerBuilder.newTrigger().withDescription("").withIdentity("ramTrigger", "ramTriggerGroup")
                 .startAt(startTime).withSchedule(CronScheduleBuilder.cronSchedule("0/2 * * * * ?")).build();
         //5.注册任务和定时器
         scheduler.scheduleJob(jd, t);
          //6.启动 调度器
         scheduler.start();
        }
    }
     

    -------------------------------------------------------------------------------------------------------------------------

    package com.shp.test.watchService;
     
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
     
    import com.shp.util.LoadConfigUtil;
     
    public class CronJob implements Job{
     
        @Override
        public void execute(JobExecutionContext context) throws JobExecutionException {
            // TODO Auto-generated method stub
            String value=context.getJobDetail().getJobDataMap().getString("fileName");

            //获取配置文件所有的值
            String values=LoadConfigUtil.getAllValues(value);

            //获取配置文件对应Key的值

            String values=LoadConfigUtil.get(key);
            System.out.println("values="+values);
        }
     
    }
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    测试

    package com.shp.test.watchService;
    import org.quartz.SchedulerException;
    import com.shp.util.LoadConfigUtil;
    import com.shp.util.RAMQuartzUtil;
     
    public class Demo3 {
        private static String key="fileName";
        private static String value="E:\\aa\\config.ini";
        public static void main(String[] args) throws InterruptedException, SchedulerException {
            LoadConfigUtil.load(value);
            RAMQuartzUtil.startTask(key, value);
        }
     
    }
     

    展开全文
  • 在java web实际开发中我们在修改配置文件与java代码时往往会重新部署或者重新启动tomcat服务器,为了提高开发效率,现总结以下方法以在网络共享(高手莫看) 一 、修改struts2配置文件不用重启方法 方法1: ...
    转自:http://blog.csdn.net/lillllllll/archive/2010/06/03/5643976.aspx



    在java web实际开发中我们在修改配置文件与java代码时往往会重新部署或者重新启动tomcat服务器,为了提高开发效率,现总结以下方法以在网络共享(高手莫看)

    一 、修改struts2配置文件不用重启方法

    方法1:

    在src目录下新建一个文件struts.properties,打开编辑,加入以下语句



    struts.devMode=true #是否设置为开发模式

    struts.i18n.reload=true #国际化自动重新部署

    struts.configuration.xml.reload=true #重新价值xml文件



    上面的语句分别为是否为struts开发模式、是否国际化信息自动加载、是否加载xml配置(true,false),重启tomcat后效果。



    方法2:

    在struts2配置文件中加入以下语句(此处要重新启动,以后修改配置文件就不用重启了)



    <constant name="struts.configuration.xml.reload" value="true"/>



    二:修改java类文件(如action)无需重启与部署方法

    方法1:

    使用第三方插件jrebel(收费插件),见附件

    下载后解压到:D:\jrebel-2.1.1\下面,会看到有一个jrebel.jar与相关的帮助文档

    在Myeclipse中:菜单windows—>Preferences—>MyEclipse—>Servers—>Tomcat-> 找到Optional program arguments文本框输入下面的语句:

    -noverify -javaagent:D:\jrebel-2.1.1\jrebel.jar


    其中:"noverify -javaagent”是参数;D:\jrebel-2.1.1\jrebel.jar是jrebel.jar的存放地方 ,根据你具体情况做修改




    方法2(好像不大好使):

    在WebRoot下的META-INF文件夹中新建一个名为context.xml文件,里面添加如下内容(要区分大小写):

    <Context reloadable = "true">

    </Context>
    展开全文
  • 服务器上,这里以linux服务器为例,为redis配置密码。 1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,) (1)首先进入redis,如果没有开启redis则需要先开启: ...
  • 为了方便维护系统,开发中通常会设置一些自定义参数,写在单独的配置文件里,需要调整时可直接登录服务器修复配置文件,而不需要修改程序。但尴尬的是,web服务器并不会自动重新加载配置文件重启服务器又会中断...
  • 如上图,首先双击 (1) 弹出server配置信息,然后勾选(2),不勾的话,修改文件里就会不停的重启Web服务器
  • Nagios之批量修改nrpe配置文件并自动重启 被监控服务器与监控服务器之前已做好信任关系。 1. 编辑需要修改的ip地址文档Linux.list [root@szadminsrv rmnrpecfg]# c...
  • tomcat热部署,压缩包有操作说明文档。解压配置直接使用。写代码时有的时候修改后台配置文件需要重启服务器才能识别,有了热部署修改任何j后台文件也不需要重启,
  • 最近公司为了上一个活动功能,增加了40台服务器,虽然服务器可以通过saltstack 来统一管理(自动化...但是在此之前需要把这40台服务器的saltstack配置文件给改掉啊,总不能一台台服务器手动去处理吧(好吧写这篇文章...
  • 首先声明,这个自动部署,只是把配置文件单独放在服务器上进行配置,修改配置文件,仍然需要重启!只是减少了不必重新打包这一步!脚本见附件。 1.总结脚本原理执行脚本->获取同级目录下的包->读取包的信息...
  • 现在解决了,解决方案如下: 1、tomcat的lib下,和eclipse的lib下以及eclipse的jar引用下有...2、tomcat的配置文件context.xml的头标签中添加属性reloadable="true" 我的是myeclipse自带的jar与maven项目中引
  • 用途:某电话转接系统,需要每天修改配置文件、并重启服务端程序 原理:WEB用于展示修改界面,提交、保存配置文件的相关数据  VB端用于定时轮训WEB上保存的数据,发现和本地不一致时则进行同步,并反馈日志到...
  • Build Automatically automatically 自动提交 每次保存后将自动提交到tomcat服务器中,不需要重启服务器,保存路径为:项目名/WebRoot/WEB-INF/classes 但是有时配置文件在提交的过程中会出现: 这将严重影响编程...
  • quartz通过动态设置配置文件确实可以实现与数据库的同步,但现实开发上线后我们基本是不会对配置文件等进行变动,因为重启一次服务器所需的成本太多。  这时,就需要我们仅仅修改数据库就能实现动态的更新定时任务...
  • 每次修改后都需要重启服务器,太浪费时间。为了节省效率,了解到热部署的设置(即改即生效,实现热部署) 了解到需要前提是tomcat以Debug模式运行,下面是详细配置 1. 打开编辑配置,重新设置tomcat 2. 点击...
  • 经常使用SSH、或者SSM框架的程序猿们可能都知道,每次修改完XML文件需要重新启动服务器,浪费时间又降低了工作效率,其实解决的方法也很简单。  只需在XML文件配置: 即可
  • nginx服务器修改php.ini后需要重启php-fpm才能生效 先查看php-fpm的master进程号 ---master ps aux|grep php-fpmroot 42891 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/usr/...
  • 我们做JavaEE开发的时候会用到Java应用服务器,比如说Tomcat,JBoss等,我们每当改动xml配置文件或者后台的Java源代码的时候,必须重启服务器才能看到效果。 有时候做一个项目会重启服务器成百上千次,让人烦不胜烦...
  • 每天重启服务器

    2019-02-15 17:15:03
    1.每天环境均需要重启后,方可调用相关接口,报的异常如下:   2.根据这个异常,我们可以大致判断其为数据库连接中断了,...所以,发现部分mysql的配置没有配置到位,所以出现了每天需要重启服务器的情况,修改...
  • 问题今天发现自己搭建的rac服务器上内存有128G,而sga只配了4G,pga也只有4G,需要设置大一点。由于这两台服务器上除了数据库没有别的应用,因此我给sga配了80G,给pga配了10G,奇怪是重启数据库时报以下错误:解决...
  • 重启服务器下键到高级选项 “e”键进入编辑,找到ro后面的recovery nomodeset将其删除,然后在此行的最后添加: quiet splash rw init=/bin/bash 如下图: 按ctrl+x或F10启动系统就可以进入single模式而不...
  • IDEA修改配置 自动编译jsp文件

    千次阅读 2018-12-07 15:34:55
    idea开发web项目时,如果没有配置好,每次修改需要重启服务器,费时又费力。下面我们说一下idea配置自动编译的方法。 新建服务器,选择发布的包必须是带有exploded的,不然后面的配置也不会出现!!! 如下图: ...
  • 一、context.xml 文件 Context.xml 是 Tomcat 公用的环境配置,tomcat ...一旦发现文件修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。推荐在 $CATALINA_BASEconf/context.xml 中进行...
  • 修改php.ini没有效果,百度说是需要重启服务器,但是重启服务器之后仍然没有效果!(使用的iis) 例如服务器配置时间区域[图片说明](https://img-ask.csdn.net/upload/201603/06/1457237886_657825.png) 但是页面读...
  • Nginx服务器进阶

    2018-10-25 16:44:45
    1.Nginx 动静态资源分离 ...# 修改配置文件需要重启服务器 user liujun liu; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/oct...
  • 通过Registrator收集需要注册到Consul作为Nginx后端服务器信息然后注册到Consul key/value.Consul-template去Consul key/value中读取信息,然后自动修改Nginx配置文件并平滑重启Nginx.不需要修改nginx.conf...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,085
精华内容 434
关键字:

修改配置文件需要重启服务器