Posted
Filed under 프로그래밍/JAVA
아니 apt upgrade했더니 젠킨스가 실행이 안된다 ㅋㅋㅋㅋ
업그레이드 안에 자바가 있는데 이게 문제인것이다.

root@devops:~# systemctl status jenkins.service
● jenkins.service - Jenkins Continuous Integration Server
 Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
 Drop-In: /etc/systemd/system/jenkins.service.d
 └─override.conf
 Active: failed (Result: exit-code) since Fri 2022-03-11 09:51:28 KST; 9s ago
 Process: 2226 ExecStart=/usr/bin/jenkins (code=exited, status=1/FAILURE)
 Main PID: 2226 (code=exited, status=1/FAILURE)

Mar 11 09:51:27 devops systemd[1]: jenkins.service: Main process exited, code=exited, status=1/FAILURE
Mar 11 09:51:27 devops systemd[1]: jenkins.service: Failed with result 'exit-code'.
Mar 11 09:51:27 devops systemd[1]: Failed to start Jenkins Continuous Integration Server.
Mar 11 09:51:28 devops systemd[1]: jenkins.service: Scheduled restart job, restart counter is at 5.
Mar 11 09:51:28 devops systemd[1]: Stopped Jenkins Continuous Integration Server.
Mar 11 09:51:28 devops systemd[1]: jenkins.service: Start request repeated too quickly.
Mar 11 09:51:28 devops systemd[1]: jenkins.service: Failed with result 'exit-code'.
Mar 11 09:51:28 devops systemd[1]: Failed to start Jenkins Continuous Integration Server.


젠킨스는 8과 11만을 지원하기때문에 자바 버전을 변경해줘야 한다.
root@devops:/# update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

 Selection Path Priority Status
------------------------------------------------------------
 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
* 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
 2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
 3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode

Press <enter> to keep the current choice[*], or type selection number: 




2022/03/11 10:08 2022/03/11 10:08
Posted
Filed under 프로그래밍/JAVA
스프링의 스케쥴러를 사용하기 위해

servlet-context.xml에 task를 추가한다

xmlns:task=http://www.springframework.org/schema/task

xsi:schemaLocation 에도 추가
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd

아래 내용도 추가
<task:executor id="executor" pool-size="5-10" queue-capacity="255" />
<task:scheduler id="scheduler" pool-size="3" />
<task:annotation-driven executor="executor" scheduler="scheduler" />


void타입의 return 이 없고 파라미터가 없는 메서드에 사용가능하다

@Scheduled(fixedRate=5000)

fixedRate : 지정한 시간 주기로 작업을 실행
fixedDelay : 지정된 시간 간격으로 작업을 실행
cron : cron 표현식을 이용해서 작업을 실행

5000 -> 5초


아래 오류 발생시...
cvc-complex-type.2.4.c: The matching wildcard is strict...

http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 이 부분을
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 으로 변경해주면
오류는 발생하지 않는다. (3.0에서 3.2로)


2013/03/04 17:29 2013/03/04 17:29
Posted
Filed under 프로그래밍/JAVA

퍼온거임

#set ( $a = “Velocity” )
-
## This is a single line comment.
#* This is a single line comment. *#
-
$customer.getAddress()
$purchase.getTotal()
$page.setTitle( “My Home Page” )
$person.setAttribute( [“Strange”, “Weird”, “Excited”] )
-
${mudslinger}
${customer.Address}
${purchase.getTotal()}
-
#set( $monkey = $bill ) ## variable reference
#set( $monkey.Friend = "monica" ) ## string literal
#set( $monkey.Blame = $whitehouse.Leak ) ## property reference
#set( $monkey.Plan = $spindoctor.weave($web) ) ## method reference
#set( $monkey.Number = 123 ) ##number literal
#set( $monkey.Say = ["Not", $my, "fault"] ) ## ArrayList
#set( $monkey.Map = {"banana" : "good", "roast beef" : "bad"}) ## Map
-
ArrayList의 예제인 $monkey.Say는 $monkey.Say.get(0)과 같은 식으로 배열의 바로 필요한 열의 값을 가져올수 있다. Map의 예제인 $monkey.Map은 $monkey.Map.get(“banana”) 혹은 $monkey.Map.banana와 같은 방식으로 값을 가져올 수 있다.
-
#if( $foo < 10 ) <strong>Go North</strong>
#elseif( $foo == 10 ) <strong>Go East</strong>
#elseif( $bar == 6 ) <strong>Go South</strong>
#else <strong>Go West</strong>
#end
-
#foreach( $product in $allProducts )
    <li>$product</li>
#end
“$allProducts”는 Vector, HashTable, Array 의 변수형이 사용될 수 있다.
-
HashTable의 경우 다음과 같은 방법으로 값을 출력할 수 있다.
<ul>
    #foreach( $key in $allProducts.keySet() )
        <li>Key: $key -> Value: $allProducts.get($key)</li>
    #end
</ul>
-
해당 파일 안에 VTL문법이 있더라도 파싱 되지 않고 문자열로 인식하게 된다.
#include( "one.txt" )
#include( "one.gif","two.txt","three.htm" )
#include( "greetings.txt", $seasonalstock )
-
#parse 지시자는 Include와 동일하지만 Velocity Template Engine이 파싱을 하여 그 결과물을 출력한다는 점이 다릅니다
Count down.
#set( $count = 8 )
#parse( "parsefoo.vm" )
All done with dofoo.vm!
-
#stop 지시자는 현재의 줄에서 템플릿 파싱을 중단한다. 디버깅시 유용하게 활용될수 있다.
#stop

 

2013/01/10 11:27 2013/01/10 11:27