2014-04-18 2 views
-1

내가 @PostConstruct 주석 init 메소드는 init 메소드

니스 18, 2014 오후 2시 46분 10초 com.sun.faces.vendor.WebContainerInjectionProvider getAnnotatedMethodForMethodArr 에서이 경고를 받고 있어요을 주석 경고 : JSF1047 : 'javax.annotation.PostConstruct'주석으로 표시된 'public void com.revir.managed.bean.PickListBean.init() throws java.lang.Exception'은 검사 된 예외를 선언 할 수 없습니다. 이 메소드는 무시됩니다.

내 방법이 무시되므로이 문제를 해결하려면 어떻게해야합니까?

package com.revir.managed.bean; 

import java.io.Serializable; 
import java.util.ArrayList; 
import java.util.List; 

import javax.annotation.PostConstruct; 
import javax.faces.application.FacesMessage; 
import javax.faces.bean.ManagedBean; 
import javax.faces.bean.ViewScoped; 
import javax.faces.context.FacesContext; 

import org.primefaces.event.TransferEvent; 
import org.primefaces.model.DualListModel; 
import org.springframework.beans.factory.annotation.Autowired; 

@ManagedBean(name = "pickListBean") 
@ViewScoped 
public class PickListBean implements Serializable { 

/** 
* 
*/ 
private static final long serialVersionUID = 1L; 

private DualListModel<TrvrTani> tanis; 

private DualListModel<TrvrIlac> ilacs; 


int tanisize = 0; 
String taniadi = null; 
Long taniidp = null; 
public Long getTaniidp() { 
    return taniidp; 
} 

public void setTaniidp(Long taniidp) { 
    this.taniidp = taniidp; 
} 

String tanikodu = null; 

@Autowired(required=false) 
private TrvrTaniDAO tanidao; 

public TrvrTaniDAO getTanidao() { 
    return tanidao; 
} 

public void setTanidao(TrvrTaniDAO tanidao) { 
    this.tanidao = tanidao; 
} 

List<TrvrTani> sourcetani; 
List<TrvrTani> targettani; 

List<TrvrIlac> sourceilac; 
List<TrvrIlac> targetilac; 

@PostConstruct 
public void init(){ 
    try { 
     sourcetani = new ArrayList<TrvrTani>(); 
     targettani = new ArrayList<TrvrTani>(); 

     tanidao = new TrvrTaniDAO(); 
     List<TrvrTani> taniList = tanidao.findAll(); 
     for (TrvrTani tani : taniList) { 
      Long taniid = tani.getTaniid(); 
      sourcetani.add(new TrvrTani(taniid, tani.getTaniadi(), tani 
        .getTanikodu())); 
     } 

     tanis = new DualListModel<TrvrTani>(sourcetani, targettani); 

     sourceilac = new ArrayList<TrvrIlac>(); 
     targetilac = new ArrayList<TrvrIlac>(); 

     ilacdao = new TrvrIlacDAO(); 
     List<TrvrIlac> ilacList = ilacdao.findAll(); 
     for (TrvrIlac ilac : ilacList) { 
      sourceilac.add(new TrvrIlac(ilac.getIlacid(), ilac.getIlacad(), 
        ilac.getBarkod(), null)); 
     } 

     ilacs = new DualListModel<TrvrIlac>(sourceilac, targetilac); 
    } catch (Exception e) { 
     System.out.println("Hata mesajı : " +e); 
     throw e; 
    } 
} 


public DualListModel<TrvrIlac> getIlacs() { 
    return ilacs; 
} 

public void setIlacs(DualListModel<TrvrIlac> ilacs) { 
    this.ilacs = ilacs; 
} 

public DualListModel<TrvrTani> getTanis() { 
    return tanis; 
} 

public void setTanis(DualListModel<TrvrTani> tanis) { 
    this.tanis = tanis; 
} 


public void onTransferTani(TransferEvent event) { 
    StringBuilder builder = new StringBuilder(); 
    for (Object item : event.getItems()) { 
     builder.append(((TrvrTani) item).getTaniadi()).append("<br />"); 

     targetlist(tanisize, taniadi, taniidp, tanikodu); 

    } 

    FacesMessage msgtani = new FacesMessage(); 
    msgtani.setSeverity(FacesMessage.SEVERITY_INFO); 
    msgtani.setSummary("Tanı Eklendi"); 
    msgtani.setDetail(builder.toString()); 

    FacesContext.getCurrentInstance().addMessage(null, msgtani); 
} 

public void targetlist(int tanisize, String taniadi, Long taniidp, 
     String tanikodu) { 

    tanisize = tanis.getTarget().size(); 
    System.out.println(" ************target************* : " 
      + tanis.getTarget().size()); 
    for (int h = 0; h < tanisize; h++) { 

     /* elemanin adi, id si ve kodu */ 
     taniadi = tanis.getTarget().get(h).getTaniadi(); 
     System.out.println(" ************taniadi1************* : " 
       + taniadi); 
     taniidp = tanis.getTarget().get(h).getTaniid(); 
     System.out.println(" ************taniid2************* : " 
       + taniidp); 
     tanikodu = tanis.getTarget().get(h).getTanikodu(); 
     System.out.println(" ************tanikodu3************* : " 
       + tanikodu); 
    } 
} 

public void onTransferIlac(TransferEvent event) { 
    StringBuilder builder = new StringBuilder(); 
    for (Object item : event.getItems()) { 
     builder.append(((TrvrIlac) item).getIlacad()).append("<br />"); 
    } 

    FacesMessage msgilac = new FacesMessage(); 
    msgilac.setSeverity(FacesMessage.SEVERITY_INFO); 
    msgilac.setSummary("İlaç Eklendi"); 
    msgilac.setDetail(builder.toString()); 

    FacesContext.getCurrentInstance().addMessage(null, msgilac); 
} 
} 

답변

4

초기화 방법에서 throws Exception을 제거하십시오. 예외가 발생하지 않도록하려면 try catch을 사용하십시오. 예외 선언을 제거하면 컴파일러에서 던져 질 수있는 예외를 표시하므로 try catch를 추가하십시오.

+0

try catch를 추가했습니다. 예외가 없습니다. – Burak

+0

이 답은 도움이되었습니다. 확인 표시를 클릭하여 수락하십시오. – Damian

관련 문제