1. 程式人生 > >遇到的問題筆記以及解決方案【長期更新】

遇到的問題筆記以及解決方案【長期更新】

  1. Caused by: java.lang.NoSuchMethodError: org.springframework.web.bind.annotation.RequestMapping.path()[Ljava/lang/String;
    解決方法:clean eclipse工程、重新新建Tomcat
  2. jar包衝突
    解決方法:此處只解釋maven如何使用,本工程依賴leech-core,奈何leech-core依賴2.3.22-incubatin,只需要,再次引入你需要的版本即可。(在pom中檢視依賴關係,ide、構建工具不一致,但是是思路一樣)
<dependency>
<groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.25-incubating</version> </dependency> <dependency> <groupId>com.sf.leech</groupId> <artifactId>leech-core</artifactId> <version
>
2.0.1-SNAPSHOT</version> <exclusion> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.22-incubating</version> </exclusion> </dependency>

3. Maven打包命令
A:mvn versions:set -DnewVersion=2.0.1-SNAPSHOT
(-SNAPSHOT表示版本覆蓋,有重複版本無所謂,沒有這個-SNAPSHOT版本相同會報錯)
恢復原版本:mvn versions:revert
B:1.進入leech根目錄執行:
  mvn clean source:jar package deploy -Dmaven.test.skip=true
  2.進入leech-maven-plugin目錄執行:
  mvn clean source:jar package deploy -Dmaven.test.skip=true
或者關係,跳過test  
C:OK: mvn versions:commit;
  fail: mvn versions:revert;
4. ajax跨域問題


response.setHeader(“Access-Control-Allow-Origin”,”*”);
response.setHeader(“Access-Control-Allow-Headers”,”x-requested-with,ssi-token”);
response.setHeader(“Access-Control-Max-Age”,”3600”);
response.setHeader(“Access-Control-Allow-Methods”,”GET,POST,PUT,DELETE,OPTIONS”);
5. select in (select) 為NULL
SELECT *
FROM dbo.Table_A AS a
WHERE a.ID NOT IN ( SELECT b.ID
FROM dbo.Table_B AS b
WHERE b.ID IS NOT NULL ) –排除NULL值參較
運算子比較
5. quartz 載入 spring bean
xml配置

    <bean id="testSetJobDetailBean" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
        <property name="name" value="exampleJob" />
        <property name="jobClass" value="com.sf.web.quartz.TestSetQuartz" />
        <!-- 可以封裝各種資料到JobExecutionContext裡 -->
        <property name="jobDataAsMap">
            <map>
                <entry key="timeout" value="5"/>
            </map>
        </property>
    </bean>

    <bean id="testTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="testSetJobDetailBean" />
        <property name="startDelay" value="10000"/>
        <property name="cronExpression" value="0 0/1 * * * ?" />
    </bean>

    <bean id="testSchedulerFactoryBean"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
         <property name="schedulerContextAsMap">    
            <map>    
                <!-- spring 管理的service需要放到這裡,才能夠注入成功 -->    
                <description>schedulerContextAsMap</description>    
                <entry key="testSetRunningServiceImpl" value-ref="testSetRunningServiceImpl"/>  
                <entry key="emailHttpGeneratorImpl" value-ref="emailHttpGeneratorImpl"/>  
            </map>    
        </property> 
        <property name="applicationContextSchedulerContextKey">    
            <value>applicationContext</value>    
        </property>    
        <property name="triggers">
            <list>
                <ref bean="testTaskTrigger" />
            </list>
        </property>
    </bean>

我的java原始碼

public class TestSetQuartz extends QuartzJobBean {

    private static final int QUARTZ = 1;

    private static final int SCENE_TYPE = 1;

    private static Logger logger = LoggerFactory.getLogger(TestSetQuartz.class);

    private TestSetRunningService runService;

    private EmailHttpGenerator emailervice;

    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        Date now = new Date();

        logger.info("[start quart time -- {}]", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now));
        initService(context);
        List<Integer> testSetIdList = getTestSetIdList(now);
        for (Integer testSetId : testSetIdList) {
            task(testSetId);
        }
        logger.info("[end quart time -- {}]", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
    }

    private void initService(JobExecutionContext context) {
        try {
            // 獲取JobExecutionContext中的service物件
            SchedulerContext schCtx = context.getScheduler().getContext();
            // 獲取Spring中的上下文
            ApplicationContext appCtx = (ApplicationContext) schCtx.get("applicationContext");
            runService = (TestSetRunningService) appCtx.getBean("testSetRunningServiceImpl");
            emailervice = (EmailHttpGenerator) appCtx.getBean("emailHttpGeneratorImpl");
        } catch (SchedulerException e1) {
            logger.error("TestSetQuartz init service error");
        }
    }

    private List<Integer> getTestSetIdList(Date now ) {
        List<Integer> testSetIdList = new ArrayList<Integer>();
        Map<Integer, Object> cache = CacheClass.getCacheMap();
        for (Entry<Integer, Object> entry : cache.entrySet()) {
            Date fuDate = (Date) entry.getValue();
            boolean lessThanSixtyS = (fuDate.getTime() - now.getTime())/1000 <60 && (fuDate.getTime() - now.getTime())/1000 >=0;
            if (lessThanSixtyS) {
                testSetIdList.add(entry.getKey());
            } 
        }
        return testSetIdList;

    }
    private void task(Integerid){
    //todo
    }
}   

相關推薦

遇到的問題筆記以及解決方案長期更新

Caused by: java.lang.NoSuchMethodError: org.springframework.web.bind.annotation.RequestMapping.path()[Ljava/lang/String; 解決方法:cle

記憶體溢位和記憶體洩漏的區別、產生原因以及解決方案

(轉自:https://www.cnblogs.com/Sharley/p/5285045.html) 記憶體溢位 out of memory,是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用,出現out of memory;比如申請了一個integer,但給它存了long才能存下的數,那就

長期更新Ubuntu常用命令備忘錄

err bsp ubuntu lib ubunt clas apt 問題 error Error Could not get lock /var/lib/dpkg/lock 出現這個問題可能是有另外一個程序正在運行,導致資源被鎖不可用。而導致資源被鎖的原因可能是上次運行安

長期更新邁向現代化的 .Net 配置指北

同時 lis isn 創建 ONBUILD 現實 入口 會有 hosting 1. 歡呼 .NET Standard 時代 我現在已不大提 .Net Core,對於我來說,未來的開發將是基於 .NET Standard,不僅僅是 面向未來 ,也是 面向過去;不只是 .Net

長期更新 PHP題目

  1.要求在一組數中,插入一個新數,並維護原來的排序方式不變 <?php //1.要求在一組數中,插入一個新數,並維護原來的排序方式不變 function insertArr($arr,$val){ $pos=0; if (sizeof($arr)==0)

request.getContentLength()的值為-1的問題解決方案HttpPost發起

1、問題的發現,服務端使用DataInputStream的方式獲取流,直接上程式碼說明 try { DataInputStream in = new DataInputStream(request.getInputStream()); // 將請求訊息的實體送到b變數中 int total

String Task解決方案CodeForces - 118A

String Task解決分析 謹以此文章紀念第一次ACM訓練… 題目 Petya started to attend programming lessons. On the first lesson his task was to write a simple prog

asp net2 0匯出pdf檔案完美解決方案月兒原創

asp.net2.0匯出pdf檔案完美解決方案 作者:清清月兒 主頁:http://blog.csdn.net/21aspnet/           時間:2007.5.28 PDF簡介:

以太坊學習(9)關於geth搭建私有鏈下呼叫合約遇到require (false)會消耗完所有gas的解決方案國內首發

關於geth搭建私有鏈下呼叫合約遇到require (false)會消耗完所有gas的解決方案 如果你沒遇到過這個問題,你會覺得很奇怪,Solidity的關鍵字require,根據用法解釋:https://ethfans.org/posts/when-to-use-revert-as

長期更新升級php7帶來的坑

1、去掉了ereg_*的正則函式 所以我得使用preg_match函式來替代 2、去掉了MySQL擴充套件 開啟mysqli擴充套件或者pdo_mysql擴充套件,如果使用的Laravel則必須

虛擬化應用交付解決方案ANS SOLUTIONS

背景介紹  在IT成本不斷提高的形式下,虛擬化因其具有節約成本的優勢而更加令人矚目。隨著虛擬化技術的普及,不僅提高了資源利用率,減少能源的消耗,還為管理員帶來了高效便捷的管理體驗。資料中心建設不再侷限於物理伺服器的線性堆疊,使用者可以通過虛擬化技術,實現伺服器資源的最大化利用,構建批量化的業務虛擬主機,用於釋

國內軟體映象源以及使用方法持續更新

docker 映象 配置檔案 加入以下內容 { "registry-mirrors": ["https://registry.docker-cn.com"] } 檔案位置

asp.net2.0匯出pdf檔案完美解決方案月兒原創

{            Document document =new Document();            PdfWriter.getInstance(document, new FileStream(Server.MapPath("Chap0101.pdf"), FileMode.Create))

webpack漸入佳境系列一:webpack環境配置與打包基礎附帶各種 "坑" 與解決方案!持續更新中...

utf 環境配置 lan 配置 要求 完全 需要 構建 樣式 首先介紹傳統模塊化開發的主流方案: 1.基與CMD的sea.js,玉伯提出的解決方案,據說原來京東團隊在使用。用時才定義,就近加載。最近在瀏覽seajs官方文檔時發現seajs的域名已經在轉賣,驚恐萬分之余又想

android全面屏顯示不全解決方案更新中...

一、宣告最大螢幕縱橫比(官方適配方案) Android官方提供了適配方案,即提高App所支援的最大螢幕縱橫比,實現很簡單,在AndroidManifest.xml中可做如下配置: <meta-data android:name="android.max_aspect"

java中常見的異常以及解決方案-持續更新

同學們有沒有被java中的異常機制弄得頭大?不要急,接下來,就帶你熟悉熟悉java中常見的異常以及解決方法(其實就是程式碼的嚴謹性的問題) 1.java.lang.NullPointerExcepti

微信小程式 - 介面更新記錄以及解決方案(2018/12/26)

2018/8/17 - 背景音訊需要在app.json新增requireBackGroundModes   2018/9/12 - 微信更改獲取使用者資訊介面/獲取位置等介面 - button       2018/12/26 - 傲嬌的App

格式、工具寫作(論文)中遇到的一些問題及其解決方案(持續更新......)

論文中一些常見的規則本文更新時間日誌:2018.04.29:以 office-word 為主,整理一些關於公式的問題;2018.05.24:參考文獻(會議論文)的格式及其搜尋方法;===========================================【offi

Arcengine開發所錯誤解決方案(持續更新

錯誤1:ArcGIS無法嵌入互操作型別解決辦法例: 無法嵌入互操作型別“ESRI.ArcGIS.Carto.FeatureLayerClass”。請改用適用的介面 解決: 1、展開當前專案(Project)的“引用”; 2、找到引用的“ESRI.ArcGIS.Cart

關於Android Studio 更新到3.0版本以後出現的一些問題以及解決方案

分析:尤其是採用butterknife工具的,採用新的Android Studio都會出現這樣的問題,我根據提示最後猜測原因可能是Android studio更新,然後gradle更新了,這樣的話可