<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 27,comments - 2,trackbacks - 0
    做個總結
    linux服務器上做負載均衡
    自己準備的:linux服務器(45.78.20.168),jdk1.7,nginx,redis,tomcat7兩個,部署的項目;

    1:jdk1.7安裝,兩個tomcat分別端口8080,8081;部署相同的項目;啟動;
        http://45.78.20.168:8080/redis3.2/getRedis.action
        http://45.78.20.168:8081/redis3.2/getRedis.action
    2:安裝nginx,添加負載的配置,安裝目錄下找 /etc/nginx/conf.d/default.conf文件(或/etc/nginx/nginx.conf);策略設置為默認輪詢;
        upstream www.nimenhaihaoma.com {
            server 45.78.20.168:8080;
            server 45.78.20.168:8081;
        }
        server{
            listen 80;
            server_name www.nimenhaihaoma.com;
            location / {
                proxy_pass http://www.nimenhaihaoma.com;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
    3:配置session共享,方式很多,這里用的redis的session共享(兼容jdk版本至少1.7):
        tomcat的lib包加commons-pool2-2.0.jar,jedis-2.5.2.jar,tomcat-redis-session-manager1.2.jar;
        tomcat配置文件context.xml,在標簽<Context>內添加配置:
            <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
            <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60" />

    4:項目里面區分session的代碼:
        (1):放session的接口(執行一次);
        (2):取session數據(不斷刷新),看tomcat打印信息;
    5:效果,http://www.nimenhaihaoma.com/redis3.2/getRedis.action (狂刷session值相同)



    posted @ 2016-08-17 17:03 魏文甫 閱讀(127) | 評論 (0)編輯 收藏
    項目只是加載spring的幾個定時任務,啟動服務一直循環加載spring文件,問題的根節點:定時器類里面的service對象采取配置的方式注入,而這個定時器類的構造讓我給加上了:
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext*.xml");
    myServiceImpl = context.getBean("XXXService");

    加上這段為了方便測試,在該類里寫main方法測試執行,把調用寫到構造里;,spring定時器配置好時間后,此處構造忘了去掉;導致啟動tomcat服務一直在加載spring注入文件;
    同理,spring注入的方式,在action里同樣有這樣的效果,構造方法一定注意;
    posted @ 2015-04-25 11:09 魏文甫 閱讀(184) | 評論 (0)編輯 收藏
    是在build.xml編譯的時候,包里有兩個類名一樣的java文件,我只是做了個備份,忘了改文件后綴,備份的文件也編譯了,所以報的這個錯
    posted @ 2014-08-28 20:18 魏文甫 閱讀(848) | 評論 (0)編輯 收藏
    1,添加索引文件中的一條新的索引     
                    Question addQ = new Question();//新添加的一條數據,對象id在索引文件中沒有
                    addQ.setId("999999999");
                    addQ.setQuestionname("新添加的一條數據名稱");
                    Analyzer sa = new SmartChineseAnalyzer(Version.LUCENE_40);
    IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_40, sa);
    iwc.setOpenMode(OpenMode.APPEND);
    IndexWriter writer = null;
    try {
    Directory dir1 = FSDirectory.open(new File("F:\\temp"));
    writer = new IndexWriter(dir1, iwc);
    FieldType ft = new FieldType();
    ft.setIndexed(true);
    ft.setStored(true);
    ft.setTokenized(true);
    FieldType ft2 = new FieldType();
    ft2.setIndexed(true);
    ft2.setStored(true);
    ft2.setTokenized(false);
    Document doc = new Document();
    doc.add(new Field("id", addQ.getId(), ft2));
    doc.add(new Field("questionname", addQ.getQuestionname(), ft));
    writer.addDocument(doc);
    writer.close();
    } catch (CorruptIndexException e) {
    e.printStackTrace();
    } catch (LockObtainFailedException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally{
    try {
    if(writer!=null){
    writer.close();
    }
    if(sa!=null){
    sa.close();
    }
    } catch (CorruptIndexException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    執行完程序后,索引文件中已經添加新的索引數據。
    2,刪除索引文件中的一條新的索引
                    Question delQ = new Question();//索引文件中有的一條數據,根據對象id刪
                    delQ.setId("1111111");
                    delQ.setQuestionname("要刪除的一條數據");
                    IndexWriter writer = null;
    Analyzer sa = new SmartChineseAnalyzer(Version.LUCENE_40);
    IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_40, sa);
    Directory dir1 = null;
    try {
    dir1 = FSDirectory.open(new File("F:\\temp"));
    writer = new IndexWriter(dir1, iwc);
    Term term = new Term("id", delQ.getId());
    writer.deleteDocuments(term);
    writer.commit();
    writer.close();
    } catch (CorruptIndexException e) {
    e.printStackTrace();
    } catch (LockObtainFailedException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    if (writer != null) {
    writer.close();
    sa.close();
    }
    } catch (CorruptIndexException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    System.out.println("索引刪除完成");
    3,更新索引文件中的一條索引
    更新索引文件中的一條索引的理念是:先找到這條索引刪除,然后再添加這條更新后的索引


    posted @ 2013-08-16 12:08 魏文甫 閱讀(349) | 評論 (0)編輯 收藏
                    IndexReader reader = DirectoryReader.open(FSDirectory.open(new File("F:\\temp")));// 打開索引
    IndexSearcher searcher = new IndexSearcher(reader);
    Analyzer analyzer = new SmartChineseAnalyzer(Version.LUCENE_40);
    String[] fields = { "questionname","id" };
    Occur[] occurs = new Occur[] { Occur.SHOULD,Occur.SHOULD };
    Query query =  MultiFieldQueryParser.parse(Version.LUCENE_40, "測試 的", fields,
    occurs, analyzer);
    TopDocs result = searcher.search(query, searcher.getIndexReader()
    .maxDoc());
    ScoreDoc[] hits = result.scoreDocs;
    List<Document> list = new ArrayList<Document>();
    for (int i = 0; i <hits.length; i++) {
    Document doc = searcher.doc(hits[i].doc);
    list.add(doc);
    }
    System.out.println("搜索list的長度\t→→→→\t"+list.size());
    for (Document document : list) {
    System.out.println(document.getField("questionname"));
    }
    analyzer.close();

    注:紅色字體是輸入的檢索條件,多個用空格隔開,找到的結果先匹配同時符合多個的結果,結果只是拿過來的document一個list集合,具體結果再解析就行了。

    結果如圖:
    posted @ 2013-08-12 17:26 魏文甫 閱讀(1187) | 評論 (1)編輯 收藏
                    Connection conn = null;
    Statement stat = null;
    ResultSet rs = null;
    Analyzer sa = new SmartChineseAnalyzer(Version.LUCENE_40);
    IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_40, sa);
    iwc.setOpenMode(OpenMode.CREATE);
    Directory dir1 = FSDirectory.open(new File("F:\\temp"));
    IndexWriter writer = new IndexWriter(dir1, iwc);
    int numIndexed = -1;
    FieldType ft = new FieldType();
    ft.setIndexed(true);
    ft.setStored(true);
    ft.setTokenized(true);
    FieldType ft2 = new FieldType();
    ft2.setIndexed(true);
    ft2.setStored(true);
    ft2.setTokenized(false);
    Class.forName("com.mysql.jdbc.Driver");
    conn = (Connection) DriverManager.getConnection(
    "jdbc:mysql:///question", "root", "root");
    stat = (Statement) conn.createStatement();
    rs = stat.executeQuery("select id,questionname from question");
    List<String> list = new ArrayList<String>();
    while (rs.next()) {
    String id = rs.getString("questionname");
    String questionname = rs.getString("questionname");
    list.add(id);
    list.add(questionname);
    }
    rs.close();
    stat.close();
    conn.close();
    for (String string : list) {
    Document doc = new Document();
    doc.add(new Field("questionname", string, ft2));
    writer.addDocument(doc);
    }
    numIndexed = writer.maxDoc();
    writer.close();
    執行完這段程序f盤多一個文件夾temp,里面就是創建好的索引文件了,然后進行根據索引文件查詢
    posted @ 2013-08-12 16:50 魏文甫 閱讀(1423) | 評論 (0)編輯 收藏
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=GBK" />
    <title></title>
    <script type="text/javascript" src="jquery-1.8.2.js"></script>
    <script type="text/javascript">
    $(document).mousemove(function(e) {
    var innerHeight = window.innerHeight;
    if (e.pageY > innerHeight) {
    $("#topDiv").css("display", "block");
    }
    if (e.pageY < innerHeight) {
    $("#topDiv").css("display", "none");
    }
    });
    $("#topIcon").mouseover(function() {
    $("#topIcon").css("text-decoration", "none");
    $("#topIcon").children("i").removeClass();
    $("#topIcon").children("i").addClass("icon-chevron-up");
    });
    $("#topIcon").mouseout(function() {
    $("#topIcon").children("i").removeClass();
    $("#topIcon").children("i").addClass("icon-arrow-up");
    });
    </script>
    </head>
    <body id="bodyId">
    <div id="topDiv"
    style="position: fixed;right: 60px;bottom: 60px;display: none">
    <a id="topIcon" href="#bodyId" style="background-color: #aaaaaa"><span
    style="text-align: justify;display: block;text-decoration: none;width: 14px;background-color: #cccccc">回到頂端</span>
    </a>
    </div>
    <h1>O(∩_∩)O哈哈~</h1>
    <h2>(*^__^*) 嘻嘻……</h2>
    <h3>O(∩_∩)O~</h3>
    <h4>\(^o^)/~</h4>
    <h5>$_$</h5>
    <h6>o(╯□╰)o</h6>
    <h1>O(∩_∩)O哈哈~</h1>
    <h2>(*^__^*) 嘻嘻……</h2>
    <h3>O(∩_∩)O~</h3>
    <h4>\(^o^)/~</h4>
    <h5>$_$</h5>
    <h6>o(╯□╰)o</h6>
    <h1>O(∩_∩)O哈哈~</h1>
    <h2>(*^__^*) 嘻嘻……</h2>
    <h3>O(∩_∩)O~</h3>
    <h4>\(^o^)/~</h4>
    <h5>$_$</h5>
    <h6>o(╯□╰)o</h6>
    <h1>O(∩_∩)O哈哈~</h1>
    <h2>(*^__^*) 嘻嘻……</h2>
    <h3>O(∩_∩)O~</h3>
    <h4>\(^o^)/~</h4>
    <h5>$_$</h5>
    <h6>o(╯□╰)o</h6>
    <h1>O(∩_∩)O哈哈~</h1>
    <h2>(*^__^*) 嘻嘻……</h2>
    <h3>O(∩_∩)O~</h3>
    <h4>\(^o^)/~</h4>
    <h5>$_$</h5>
    <h6>o(╯□╰)o</h6>
    <h1>O(∩_∩)O哈哈~</h1>
    <h2>(*^__^*) 嘻嘻……</h2>
    <h3>O(∩_∩)O~</h3>
    <h4>\(^o^)/~</h4>
    <h5>$_$</h5>
    <h6>o(╯□╰)o</h6>
    <h1>O(∩_∩)O哈哈~</h1>
    <h2>(*^__^*) 嘻嘻……</h2>
    <h3>O(∩_∩)O~</h3>
    <h4>\(^o^)/~</h4>
    <h5>$_$</h5>
    <h6>o(╯□╰)o</h6>
    <h1>O(∩_∩)O哈哈~</h1>
    <h2>(*^__^*) 嘻嘻……</h2>
    <h3>O(∩_∩)O~</h3>
    <h4>\(^o^)/~</h4>
    <h5>$_$</h5>
    <h6>o(╯□╰)o</h6>
    </body>
    </html>
    posted @ 2013-08-07 10:35 魏文甫 閱讀(219) | 評論 (0)編輯 收藏
    求單一登陸和單點登陸的思路及核心代碼???
    posted @ 2013-08-07 09:56 魏文甫 閱讀(335) | 評論 (0)編輯 收藏
    主站蜘蛛池模板: 精品亚洲aⅴ在线观看| 九九九精品视频免费| 国内一级一级毛片a免费| 亚洲日本中文字幕天堂网| 亚洲最大的成人网| heyzo亚洲精品日韩| 亚洲AV无码专区国产乱码不卡| 亚洲成a人无码av波多野按摩| 免费精品99久久国产综合精品| 亚洲国产精品久久丫| 亚洲精品A在线观看| 久久WWW免费人成一看片| 污视频网站在线观看免费| 亚洲男人的天堂在线播放| 国产精品久免费的黄网站 | 久久亚洲精品成人无码| 亚洲精品制服丝袜四区| 四虎成人精品一区二区免费网站| 野花香高清在线观看视频播放免费 | 午夜免费不卡毛片完整版| 成人爽a毛片免费| 亚洲人成中文字幕在线观看| 特级做A爰片毛片免费69| 精品97国产免费人成视频| 久久精品亚洲AV久久久无码| 亚洲精品成人无码中文毛片不卡| 最近免费中文字幕大全视频| 国产麻豆成人传媒免费观看 | 3344免费播放观看视频| 国产精品免费视频观看拍拍 | 国产成人精品免费视频大全| 亚洲欧洲AV无码专区| 精品日韩亚洲AV无码一区二区三区 | 在线观看片免费人成视频无码| 亚洲av乱码一区二区三区按摩 | 久久精品国产亚洲av品善| 亚洲国产综合人成综合网站00| 亚洲乱亚洲乱少妇无码| 青青草国产免费久久久下载| 成人黄色免费网址| 999任你躁在线精品免费不卡|