could not resolve placeholder in value (UnsatisfiedDependencyException) - Java

어플리케이션 기동 시 "could not resolve placeholder in value" 라며 UnsatisfiedDependencyException - BeanCreationException 이 발생할 때가 있다. 
특정 필드에 의존주입이 실패해서 생기는 문제로, 해당 필드에 주입되어야 할 값들이 설정 파일(*.properties, *.xml 등)에 정의되지 않거나 설정 파일 경로가 잘못 되었을 경우 해당 문제가 발생 할 수 있다. 

maven을 사용할 경우, pom.xml의 <resources>부분에 설정된 경로값이 정상적인지, 정상 설정 되었다면 해당 설정 파일안에 값 정의가 제대로 되어 있는지 확인이 필요하다. 


만약 위의 경우 2가지가 아니라면, 혹 IDE 안에 리소스 경로가 빌드 패스 안에 포함이 안되어 있는지 확인이 필요하다. 

*설정 파일 경로인 src/main/resouces 경로가 빌드패스에 빠져 있다(resouces는 오타...)

이 같은 경우는 
프로젝트의 Properties(Package Explorer에서 프로젝트 마우스 우클릭 후 메뉴 선택)>>Java Build Path>>Source 에서 해당 경로가 추가 되어 있는지 확인한다. 안되어 있을 경우 Add Folder 버튼을 통해 해당 경로를 추가 후 적용 후 다시 기동한다. 

-----------------------------------------------------------------------------------------------------------
if you get error message [could not resolve placeholder in value (UnsatisfiedDependencyException)] when you running your java application(Spring Boot...), you have to check the application's setting files. 

1. Check directory paths in setting files. If it does not correct, you have to fix it to accurate paths. 
Ex)if you use maven, check pom.xml file. In there, check <resources> part about is it correct directory path or not. 
2. If path values is correct, check placeholder values are correct or not in files which located in path. 
Ex) check placeholder value(url=http://aaa.com) in application.properties file
3. if uppers are all correct, check your IDE is setted about resources folders are added in build path. 
  *Project properties>>Java Build Path>>Source>>check build path. if resources folders are not added in there, adding it after click Add Folder button


window.open 객체에 대한 통신 (window.postMessage) - window.open으로 열린 창이 정상적으로 열렸는지 확인 - jQuery & Javascript & CSS

window.open으로 열은 새창이 정상적으로 Load가 되었는지 체크하고, 완료 되었을 경우 계산이 되게끔 하려고 함. 




1
2
3
4
5
6
7
8
9
<script>
//origin main site url - http://main.whereisthissite.com
var cnt = 0;
var windowObj = window.open("http://sub.whereisthissite.com")
windowObj.onload = function(){
    cnt++;
}
</script>
 
cs

하지만... 이렇게 하려면 프로토콜(http, https 등), 호스트네임(hostname), 포트(port) 세가지 모두 동일해야 가능하다고 한다... 이런... 


이를 해결하기 위해선 window.postMessage를 써서 가능하다고 한다. 
방법은 window.open을 하는 main 페이지에서 window.postMessage() window.open을 한 창(이하 sub)에 message를 보내고, sub에서는 그에 대한 응답을 하는 구조로 만든다. 

상세 내용은 하기 URL 참고: 



[RabbitMQ] warning pid file not written detached was passed (rabbitmq-server -detached) 미분류

Q: rabbitmq-server -detached 옵션으로 기동 시 아래와 같은 경고 메시지가 뜨는 이유는?
   (Why below warning message is displayed when running "rabbitmq-server" with "-detached" option)
   
   "Warning: PID file not written; -detached was passed."

A: 결론은 정상.
-deteched 옵션으로 실행할 경우, background 에서 process를 기동함. 이 경우 PID를 쓰지 않으며 이에 대한 Note를 하는 것임.
(That's normal situation. When you put "-detached" option, process will be running on background.
In this time, RabbitMQ is not write PID file and note this situation. That's all)


[Meteor] mainModule 설정 (파일 로드가 main.js 빼곤 안될때...) -E.T.C

Meteor 프레임워크는 아래와 같이 파일이 로드 된다고 하는데...

  1. HTML template files are always loaded before everything else
  2. Files beginning with main. are loaded last
  3. Files inside any lib/ directory are loaded next
  4. Files with deeper paths are loaded next
  5. Files are then loaded in alphabetical order of the entire path

아무리 해도 난 새로 생성한 프로젝트에서 lib 폴더 또는 server 폴더 안의 파일들이 로드가 안되었다...

몇시간을 원일을 찾다가... 발견한 이유가... package.json 이었다...

즉, 프로젝트 새로 생성 시 package.json 안에 아래와 같이 mainModule이 설정되어 있는데, 
여기에 설정 된 파일 외에는 별도 로드가 되지 않는다. 

위처럼 세팅이 되어 있으면 미티어 서버 구동 시 설정된 server/main.js만 로드 된다. 


mainModule 설정을 날린 후에야 원래의 로드 순서에 맞춰 구동이 되는 것을 확인. 

*collections.js 로드 (lib 폴더안에 존재)
**fixture.js 로드(server 폴더안에 존재)
***마지막으로 main.js 로드 (server 폴더안에 존재)


mainModule에 대한 상세 내용은 향후 공부후...업로드로...


[Java] Arrays.asList() - Can not adding element - Java

Arrays.asList() 
--> Arrays의 private 정적 클래스인 ArrayList리턴(java.util.Arrays.ArrayList)
--> java.util.ArrayList 클래스와는 다른 클래스 
--> 원소 추가 매서드 없음 
--> 사이즈 변경 불가 
--> 사이즈 변경이 가능한 ArrayList(java.util.ArrayList)를 사용하기 위해선 아래와 같이 필요
     
     ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));


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

[Arrays.asList()] method return java.util.Arrays.ArrayList.
It's different from java.util.ArrayList class. Also It doesn't have mehtod for adding element, so it 's size can not be changed.
If you want use ArrayList(java.util.ArrayList) which can be changed size, you can convert it like below.

ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));







1 2 3 4 5 6 7 8 9 10 다음


AD_1