Javaweb專案不用重啟載入properties檔案的方法(根據時間戳來判斷)
不多說 先來原始碼
package com.lx.core.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import org.apache.log4j.Logger;
public class PropertiesUtil {
private static Properties prop;
private static Logger log = Logger.getLogger(PropertiesUtil.class);
private static Long lastModified = 0l;
private static void init() {
prop = new Properties();
String filepath = PropertiesUtil.class.getClassLoader().getResource("/properties/config.properties").getPath();
log.info(filepath);
FileInputStream fis = null;
try {
fis = new FileInputStream(filepath);
prop.load(fis);
} catch (IOException e) {
log.error("載入系統路徑資原始檔錯誤!");
e.printStackTrace();
}
}
public static String getProperty(String key) {
if (prop == null || isPropertiesModified()) {
init();
}
String value = prop.get(key).toString();
return value;
}
//判斷是否被修改過
public static boolean isPropertiesModified() {
boolean returnValue = false;
File file = new File(PropertiesUtil.class.getClassLoader().getResource("/properties/config.properties").getPath());
if (file.lastModified() > lastModified) {
lastModified=file.lastModified();
returnValue = true;
}
return returnValue;
}
}
isPropertiesModified方法來判斷配置檔案的最後修改時間和lastModified 中儲存的最後修改時間戳是否一致,一致,不進行重新載入.不一致 重新讀取檔案內容到記憶體
以下是測試類
package com.lx.core.util;
import org.springframework.stereotype.Service;
@Service
public class TaskJob {
public void AutoLaunchSend() throws Exception{
String zxq=PropertiesUtil.getProperty("zxq");
System.out.println(zxq);
}
}
相關推薦
Javaweb專案不用重啟載入properties檔案的方法(根據時間戳來判斷)
不多說 先來原始碼 package com.lx.core.util; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Pro
idea配置熱載入,開發不用重啟tomcat,tomcat配置熱載入,釋出專案不用重啟tomcat,在自己專案的context配置jdbc資料來源
在conf/server.xml裡面的Host加入Context節點,設定以下屬性 path="/project_name" docBase="project_name" debug="1" reloadable="true"> 然後在Context節點加入以下子節點 <Watche
javaWeb專案ssm框架中jdbc.properties檔案載入不了或獲取不到值的解決方法
最近在做的ssm專案在junit測試是發現jdbc.properties檔案讀取不到資料庫配置檔案,開始以為是配置檔案有錯,後來才發現是jdbc.properties檔案中存在空格導致的錯誤。下面來總結以下可能的錯誤:背景:ssm框架+mysql(c3p0資料來源配置)
修改Java檔案不用重啟Tomcat服務的方法
在tomcat的安裝目錄的conf檔案中找到server.xml這個檔案,在 <Host>結點裡面加上 <Context docBase="工程物理路徑" path="/工程名" reloadable="true" source="org.eclip
[JAVA]修改Java檔案不用重啟Tomcat服務的方法
修改Java檔案不用重啟Tomcat服務的方法 在使用Eclipse+Tomcat開發Java專案的時候常常會碰到這樣的情況,已修改Java檔案Tomcat就會自動重啟,接下來就是漫長的等待服務重啟完畢。那其實大多數的Java檔案修改是沒有必要重啟服務的,只有一
groovy修改代碼不用重啟通過監聽記錄改變時間重新加載
.com 寫法 ges java代碼 好的 jpg 一個 png blog groovy是一個跟java 很像的腳本語言,基於jvm,寫法比java隨意一點可以跟java代碼很好的集合,如果項目中有用到規則可以在控制層使用groovy編寫代碼,調用規則。 在spring-m
maven專案 修改properties屬性檔案不用重啟
1.專案中經常變化的值, 比如 圖片伺服器路徑啊‘第三方的路徑’,都需要放到 屬性檔案裡, 怎樣才能不用重啟 修改 屬性檔案呢, public static String getPropertiesValue(String name, String key) {
eclipse mavenWeb專案真正實現熱部署(修改java程式碼和頁面檔案不用重啟tomcat)
1.前言 先說熱部署的含義: 熱部署原來被定義為:tomcat啟動後,如果你往webapps目錄下,新增新的專案,tomcat會實現自動將其釋出的功能,這時,就叫做熱部署。 網上所實現的熱部署
java不重啟服務動態載入properties檔案
動態載入properties檔案內容,不需要重啟服務! 1 、Maven 工程,在resource下新建一個properties檔案 target/classes/config.properties user=dufy phoneNo=123456
Java中動態載入properties檔案,而不需要重啟應用的解決辦法
java中動態載入properties檔案,而不需要重啟應用的解決方法在Java專案中,如果需要使用.properties型別的檔案作為某些配置資訊存放介質的時候,一般都是將.properties檔案放在src目錄下,程式碼大部分都是這樣寫的: Properties pro
Eclipse 修改方法裡面的內容不用重啟專案
在跑專案得時候,修改了一個字元都需要重啟,覺得特別麻煩。網上看了一堆都是eclipse+tomcat不用重啟的教程。我的專案使用run as java application啟動的。找了一堆資料才發現: 沒有勾選Build Automatically,導致不能自動編譯為class檔案(專案特別大
springcloud專案 jar啟動專案載入properties檔案報錯
專案在使用命令cmd視窗下 java -jar test.jar 的時候,報錯task.properties (檔名、目錄名或卷標語法不正確。 正常的war包是寫法如下: String path = PropertiesHander.class.getResource(
修改配置檔案不用重啟tomcat
專案需要頻繁更新配置檔案,每次改完需要先停tomcat,在重啟很麻煩~~~ 今天抽個空研究了一下,發現很多人都遇到類似的問題,然後綜合了下各個網站的解決辦法,我整了一個demo出來了,廢話不多說先上圖: 說明:配置檔案第一次只有一個屬性,test;待執行完後又新增一個新屬
idea利用devTools熱部署,修改java檔案後不用重啟服務
pom檔案中引入依賴 <dependency> <groupId>org.springframework.boot</groupId> <a
IDEA修改java檔案後 不用重啟Tomcat服務便可自動更新
一、問題使用IDEA開發Java時,修改java檔案後,需要重啟tomcat,程式碼方生效,重啟tomcat耗時較長,嚴重影響開發效率。二、解決1、配置tomcat時,on 'update' action和on frame deactivation選項都選擇 update c
修改Java檔案後終於不用重啟伺服器了.
今天發現一個很NB的玩意,讓我們在開發的時候修改Java檔案,不用重啟伺服器立刻生效!支援Jetty tomcat jboss等很多伺服器,它就是JRebel。 http://www.zeroturnaround.com/jrebel/installation/ 這裡有針對不同伺服器的安裝方法
不用重啟Tomcat服務實現修改Java檔案後自動部署
可以修改類不用重啟Tomcat載入整個專案(手工啟動) 1.配置reloadable=true(自動過載) 2.使用Debug模式,前提是僅限於區域性修改。(修改類不用重啟--熱載入) 在使用Eclipse+Tomcat開發Java專案的時候常常會碰到這樣的情況,已修改Ja
如何重啟explorer,不用重啟電腦 也能使設置生效
標簽 .exe 生效 不用 win10 電腦 運行 ont 切換 下面以win10 為例,其實其他系統也一樣 換湯不換藥。 1、執行Ctrl + Shift + Delete組合鍵,打開任務管理器,切換到進程標簽。找到explorer.exe進程,右鍵點擊結束任務
MySQL管理之道-筆記-MySQL5.7-在線調整innodb_buffer_pool_size不用重啟mysql進程
位置 mysq chunk ike global hunk 單位 數據頁 buffer 在線調整innodb_buffer_pool_size不用重啟mysql進程MySQL5.7以前,調整innodb_buffer_pool_size需要重啟mysql進程才可以生效。建議
為什麼修改jsp不用重啟tomcat,而修改servlet要重啟tomcat
servlet和jsp本質都是servlet,執行時都是執行.class檔案。但是它們的部署方式不一樣。 servlet是先編譯後部署,修改完以後,MyEclipse進行編譯,然後部署.class檔案到servlet容器中。如果web伺服器已啟動,則之前class已被servl