17:56:50,338 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/lugarcerto].[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception: java.lang.IllegalStateException: Could not wrap ExternalContext
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:47) [:3.1.0.Final]
at com.sun.faces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:93) [:2.1.6-SNAPSHOT]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:583) [:2.1.6-SNAPSHOT]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:543) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:529) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:455) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:667) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:77) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:6.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContext$Proxy$_$$_WeldClientProxy.setWrapped(SeamExternalContext$Proxy$_$$_WeldClientProxy.java) [:3.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:43) [:3.1.0.Final]
... 20 more
17:56:50,342 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost]] Exception Processing ErrorPage[errorCode=404, location=/lugarcerto/error/acessonegado.jsf]: java.lang.IllegalStateException: Could not wrap ExternalContext
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:47) [:3.1.0.Final]
at com.sun.faces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:93) [:2.1.6-SNAPSHOT]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:583) [:2.1.6-SNAPSHOT]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:543) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:529) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:455) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:667) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:77) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:6.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContext$Proxy$_$$_WeldClientProxy.setWrapped(SeamExternalContext$Proxy$_$$_WeldClientProxy.java) [:3.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:43) [:3.1.0.Final]
... 20 more
17:56:50,447 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/lugarcerto].[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception: java.lang.IllegalStateException: Could not wrap ExternalContext
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:47) [:3.1.0.Final]
at com.sun.faces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:93) [:2.1.6-SNAPSHOT]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:583) [:2.1.6-SNAPSHOT]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:543) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:529) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:455) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:667) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:77) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:6.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContext$Proxy$_$$_WeldClientProxy.setWrapped(SeamExternalContext$Proxy$_$$_WeldClientProxy.java) [:3.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:43) [:3.1.0.Final]
... 20 more
17:56:50,449 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost]] Exception Processing ErrorPage[errorCode=404, location=/lugarcerto/error/acessonegado.jsf]: java.lang.IllegalStateException: Could not wrap ExternalContext
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:47) [:3.1.0.Final]
at com.sun.faces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:93) [:2.1.6-SNAPSHOT]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:583) [:2.1.6-SNAPSHOT]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:543) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:529) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:455) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:667) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:77) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:6.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContext$Proxy$_$$_WeldClientProxy.setWrapped(SeamExternalContext$Proxy$_$$_WeldClientProxy.java) [:3.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:43) [:3.1.0.Final]
... 20 more
só consigo exibir a imagem quando coloco ela dentro do contexto da aplicação…
É só ao invés de ler do banco, você ler do disco rígido.
Com relação a desempenho não haverá problemas pois dá no mesmo você mandar ler direto da página ou direto de uma classe. O problema de se ler direto da página arquivos fora do servidor, é que você teria que configurar isso no contexto do seu servidor. [=
for (Lugar lugar : lugares) {
retorno = this.populaFotosCarregadas(lugar);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return retorno;
}
private ArrayList<StreamedContent> populaFotosCarregadas(Lugar lugar) {
ArrayList<StreamedContent> retorno = new ArrayList<StreamedContent>();
StreamedContent fotoCarregada = null;
for (Foto foto : lugar.getFotos()) {
BufferedImage bufferedImg = new BufferedImage(100, 25,
BufferedImage.TYPE_INT_RGB);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
bufferedImg = ImageIO.read(new File(foto.getDsPath()));
ImageIO.write(bufferedImg, "jpg", baos);
baos.flush();
fotoCarregada = new DefaultStreamedContent(
new ByteArrayInputStream(baos.toByteArray()),
"image/png");
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
retorno.add(fotoCarregada);
}
return retorno;
}[/code]
erro:
13:46:30,514 INFO [org.apache.coyote.http11.Http11Protocol] Starting Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080
13:46:30,529 INFO [org.apache.coyote.ajp.AjpProtocol] Starting Coyote AJP/1.3 on ajp-localhost%2F127.0.0.1-8009
13:46:30,530 INFO [org.jboss.bootstrap.impl.base.server.AbstractServer] JBossAS [6.1.0.Final "Neo"] Started in 30s:625ms
13:46:44,157 WARN [org.jboss.weld.integration.ejb.JBossSessionObjectReference] Cannot remove EJB, id unknown (likely because this is a no-interface view!)
13:46:44,210 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/lugarcerto].[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception: java.lang.IllegalStateException: Could not wrap ExternalContext
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:47) [:3.1.0.Final]
at com.sun.faces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:93) [:2.1.6-SNAPSHOT]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:583) [:2.1.6-SNAPSHOT]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:543) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:529) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:455) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:667) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:77) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:6.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContext$Proxy$_$$_WeldClientProxy.setWrapped(SeamExternalContext$Proxy$_$$_WeldClientProxy.java) [:3.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:43) [:3.1.0.Final]
... 20 more
13:46:44,215 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost]] Exception Processing ErrorPage[errorCode=404, location=/lugarcerto/error/acessonegado.jsf]: java.lang.IllegalStateException: Could not wrap ExternalContext
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:47) [:3.1.0.Final]
at com.sun.faces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:93) [:2.1.6-SNAPSHOT]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:583) [:2.1.6-SNAPSHOT]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:543) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:529) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:455) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:667) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:77) [:6.1.0.Final]
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:6.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContext$Proxy$_$$_WeldClientProxy.setWrapped(SeamExternalContext$Proxy$_$$_WeldClientProxy.java) [:3.1.0.Final]
at org.jboss.seam.faces.environment.SeamExternalContextFactory.getExternalContext(SeamExternalContextFactory.java:43) [:3.1.0.Final]
... 20 more
Alguem conseguiu resolver este problema, se conseguiram por favor postem o codigo ou o link do tutorial, por favor se alguem puder ajudar eu agradeço.
Estou usando: JSF 2 e Primefaces 3[/quote]
Consegui resolver este problema de renderização das imagens usando a tag <p:graphicImage>, segue abaixo detalhes crucias para o bom funcionamento:
1º Este componente não funciona se vc usar a variavel de interação nele, este componente (<p:graphicImage>) pode até estar dentro de outro componente (EX: <p:dataGrid>) que use esta variavel de interação, mas ele (<p:graphicImage>) não pode fazer uso da mesma;
2º Para um funcionamento adequado, deve ser desenvolvido um MB individual para carregamento da imagem;
3º um paramentro deve ser passado quando a imagem é rederizada atraves da tag <f:param>;
4º O scopo não pode ser View conforme documentação do Prime, e ao contraria do que muitas pessoas estão falando pelos foruns, o scopo pode ser RESQUEST sim, não precisa ser SESSION.
5º Não desanimem, rsrsrs, passei 3 semanas tentando resolver apenas este problema.
Bem é isso ai pessoal, no meu caso só precisar copiar o MB (PhotoStreamer) que trata imagem deste tutorial fiz umas alterações para minha aplicação e foi tranquilo.
tem que fazer um método para retornar um objeto StreamedContent…
só tem um porém… deste modo não consigo utilizar a imagem dentro de um repeat…
abraço[/quote]
Então LeoCBS,
Consegui resolver este problema, e usei o graphicImage dentro de um DataGrid funcionou de boa, da uma olhada nas dicas do meu post ai, qlq coisa da um toq, flw.
Esse parametro (idLugar) servi para resgatarmos a imagem no segundo request que este componente GraphicImage realiza, e pelo que observei, seu codigo não esta usando a variavel (photoId ) que guarda o valor do parametro, neste exemplo que passei para vc, veja que usei o parametro para buscar uma imagem do tipo StreamedContent atraves do metodo “metodoQueRetornaByteArray”.
essa sua linha de codigo “return this.lugarController.retornaImagemHome(new Long(idLugar));” esta retornando um StreamedContent?
tem um detalhe no código… se removo esse trecho de código ( (Long) UIComponent.getCurrentComponent(FacesContext.getCurrentInstance()).getAttributes().get(“idLugar”);
o imagem é renderizada…porqueeee??
21:07:58,096 SEVERE [org.primefaces.application.PrimeResourceHandler] Error in streaming dynamic resource.
Meu MBean:
public StreamedContent getFoto() {
Long idLugar = (Long) UIComponent
.getCurrentComponent(FacesContext.getCurrentInstance())
.getAttributes().get("idLugar");
Foto foto = null;
if (idLugar != null) {
foto = this.lugarController.retornaImagemHome(idLugar);
}
//se removo o codigo acima a imagem é redenrizada!!
BufferedImage bufferedImg = new BufferedImage(100, 25,
BufferedImage.TYPE_INT_RGB);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
bufferedImg = ImageIO.read(new File(foto.getDsPath()));
ImageIO.write(bufferedImg, "jpg", baos);
baos.flush();
} catch (IOException e) {
e.printStackTrace();
}
return new DefaultStreamedContent(new ByteArrayInputStream(
baos.toByteArray()), "image/png");
}