| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/05/2008 11:43:43
|
mvargens
JavaGuru
Membro desde: 12/05/2008 16:20:26
Mensagens: 243
Localização: Embu
Offline
|
Valew pelo feedback feliperod , espero que o BoxSql cresça muito e acho que ele tem espaço para ser usado exatamente onde não se pode usar JPA. Continuem com o projeto.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/05/2008 12:00:54
|
feliperod
JavaTeenager
![[Avatar]](/images/avatar/12d836bf64839f987338414ccbec657f.jpg)
Membro desde: 07/11/2006 14:10:54
Mensagens: 179
Offline
|
Lembrei que tenho que responder a pergunta sobre Procedures e functions. O BoxSQL tem suporte à procedures sim. Não lembro o nome do método de cabeça, mas é bem fácil de achar.
Outra coisa, estamos trabalhando na geração de queries simples automaticamente, o que acho que vai diminuir um pouco os arquivos SQL.
Também estamos introduzindo tratamento de alguns tipo primitivos que não eram tratados ainda e evoluindo a opções a serem configuradas no arquivo boxsql.properties, como por exemplo o caracter que deve substituir os valores boolean podem ser especificados no properties. Tratamento de Date e algumas outras coisas.
Preciso verificar melhor a parte de transaction. Alguém teve algum problema com isso no Box ou tá funcionando certinho?
Vou pensar na sugestão de permitir várias queries em um mesmo arquivo. Acho que ajudaria na organização dos templates. Mas lembrem-se que tudo isso traz complexidade no uso. Quanto mais features implementamos, mais conhecimento é necessário para usar. Mas acho que é um Trade-Off. =)
Grande Abraço,
|
Felipe Rodrigues de Almeida
No Twitter: @felipero
www.fratech.net
infoq.com/br - Participe! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/05/2008 13:20:57
|
java_coffe
Virtual Machine Man
Membro desde: 08/06/2006 09:28:04
Mensagens: 678
Localização: Manaus - AM
Offline
|
Fala Felipe.....Aqui é o Igson...kkkkk
EI nao eskece de colocar no boxsql a função pra inserção de arquivo e valores do tipo Date !!!!
Espero que essas melhorar sejam pra evoluir o box . Gostei muito de utilizar ele aqui .
Paz e Bem
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2008 14:28:37
|
eniomarconcini
Smalltalk
![[Avatar]](/images/avatar/020dbda36ab026476da861751b09a0eb.jpg)
Membro desde: 21/07/2008 14:26:02
Mensagens: 2
Offline
|
feliperod wrote:Outra coisa, estamos trabalhando na geração de queries simples automaticamente, o que acho que vai diminuir um pouco os arquivos SQL.
opa! gostei dessa novidade realmente é algo muito útil.
No meu caso, uso muito algo parecido no Delphi com os componentes de acesso MDO/IBX
onde é fornecido um SQL padrão tipo: "select * from tabelatal where ..." e o componente gera automaticamente os outros SQL´s para insert, update, delete
imagine uma tabela com uns 30 campos? criar na unha tudo?
abraços
|
ENIO RODRIGO MARCONCINI
www.Enio.Pro.Br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2008 10:20:19
|
black_fire
Virtual Machine Man
![[Avatar]](/images/avatar/1714726c817af50457d810aae9d27a2e.jpg)
Membro desde: 10/08/2003 17:14:27
Mensagens: 625
Localização: São Paulo/SP
Offline
|
Alucard33 wrote:Pra que usar um framework que ninguém usa ? e se você precisa de alguma documentação ou ajuda ?
ninguém sabe de nada.........
por favor isso é coisa de desenvolvedor que quer se aparecer.. dizer que faz projetos e tal, quer se aparecer ? trabalhe.
Tanto que esse boxsql está sempre uns 10 passos atrás dos principais frameworks ORM de verdade do mercado, quando
vc disse que vai ter annotations mesmo ??????
Isso ai só serve pra fazer gambiarra de fundo de quintal, ou vc acha que alguém vai usar EJB com boxsql ?
fui.
Lojas Marisa, Websphere + RMI + EJB + Boxsql... (250 lojas, 26 estados, funcionando)
Tenho minhas criticas sobre o box, mas isso não fez com que em um determinado projeto ele se encaixasse bem.
Cara, vc é um imbecil, faz muito tempo que não entro no Guj, por causa da correria,
mas há alguns anos atrás o pessoal do DOPS do GUJ já tinha passado fogo em você.
Não é uma questão de não poder ter opinião, é uma questão de ter educação (no seu caso não ter). E nem adianta responder, que não vou perder meu tempo pra discutir com um cara tão medíocre como você.
Procura um trabalho lá no Alaska e vai viver isolado do mundo, pq vc não sabe viver em grupo. Muleke...
|
-------------------------------------
Rodrigo G. Tavares de Souza
"When you don't have walls...you don't need Windows..." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 15:27:59
|
Nabas
HelloWorld
![[Avatar]](/images/avatar/ef96003dff3714cf3720aee9b14503b7.jpg)
Membro desde: 05/12/2006 10:13:51
Mensagens: 18
Offline
|
Felipe,
Estava testando o boxsql e percebi que quando o valor retornado de uma consulta é null o boxsql me retorna zero. Vocês já viram este problema?? Isto ja foi arrumado??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2008 15:50:55
|
feliperod
JavaTeenager
![[Avatar]](/images/avatar/12d836bf64839f987338414ccbec657f.jpg)
Membro desde: 07/11/2006 14:10:54
Mensagens: 179
Offline
|
black_fire wrote:
Lojas Marisa, Websphere + RMI + EJB + Boxsql... (250 lojas, 26 estados, funcionando)
Tenho minhas criticas sobre o box, mas isso não fez com que em um determinado projeto ele se encaixasse bem.
Bom black fire eu também sei que vc baixou o código e alterou algumas coisas para que o framework ficasse mais adaptado ao seu caso. Essa é a essência do open source. Algumas vezes alguém me pede uma alteração ou reclama de algo, mas na verdade basta baixar o código e modificá-lo. No caso do BoxSQL o código é estupidamente simples de ser entendido e corrigido.
Nabas wrote:
Estava testando o boxsql e percebi que quando o valor retornado de uma consulta é null o boxsql me retorna zero. Vocês já viram este problema?? Isto ja foi arrumado??
Não me lembro desse problema. Talvez ele retorne 0 se o atributo for numérico. Mas se for o caso podemos deixar um default para isso e colocar um parâmetro de configuração para quem quiser mudar o default.
Bom, mas deixando de lado, vou terminar a versão 2.0 do BoxSQL ainda este ano. Demorei porque estou implementando tudo de novo em Groovy (não há um bom motivo a não ser opção pessoal. Enjoei de Java.). O bom é que ele será compilado para BytoCode e todo mundo poderá utilizar na boa o framework. Também vou publicar o projeto com mais conteúdo como tutoriais e documentação, mas só para o ano que vem, pois to muito corrido com a InfoQ.
|
Felipe Rodrigues de Almeida
No Twitter: @felipero
www.fratech.net
infoq.com/br - Participe! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/05/2009 16:01:13
|
gilberto.bsousa
What is classpath?
Membro desde: 14/05/2009 15:49:58
Mensagens: 7
Offline
|
Oi Felipe, pelo que notei vc é um dos criadores do boxsql, por isso resolvi tentar te contactar por aqui.
Estou trabalhando em um projeto no qual optei por adotar o boxsql devido a sua flexibilidade e etc. Estou neste momento enfrentando um problema que talvez seja de fácil solução para vc.
Logo no momento do login do sistema, ao tentar acessar o BD mysql pela primeira vez, recebo um erro java.lang.IllegalArgumentException: URI is not hierarchical.
Quando rodo o sistema no Eclipse tudo funciona bem, mas quando gero um jar no ANT e rodo o sistema direto no browser, apesar de carregar a tela inicial, no primeiro acesso ao BD para validação de login e senha, recebo este erro.
Não achei nada esclarecedor sobre isso na internet.
Meu arquivo boxsql.properties está configurado assim:
box.connectionType=jdbc
box.pathBase=br/com/atchik/resources
log.path=/c://java/workspace_atchik/
log.active=true
jdbc.url=jdbc:mysql://localhost/quebrabases
jdbc.driver=com.mysql.jdbc.Driver
jdbc.user=root
jdbc.password=2108
O erro ocorre no metodo abaixo quando chamo box.getList :
public static Boolean Login_Validation (String username, String password){
BoxSQL box = new BoxSQL();
try{
box.setParameter("username",username );
box.setParameter("password",password );
List<Login> logged_user = box.getList("check_login.sql", Login.class);
if (logged_user.get(0).getUsername()==null || logged_user.get(0).getUsername().length()==0){
return false;
}
}
catch (IndexOutOfBoundsException iobe){
System.out.println ("IndexOutOfBoundsException on LoginDAO.Login_Validation");
return false;
}
catch (Exception jle){
System.out.println ("Exception on LoginDAO.Login_Validation ==> " + jle.getMessage());
System.out.println (" Cause ==> " + jle.getCause());
return false;
}
finally{
System.out.println ("Will call box.release");
box.release();
}
return true;
}
Qualquer ajuda será muito bem vinda.
Obrigado desde já.
Abs.
Gilberto
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/05/2009 16:20:53
|
gilberto.bsousa
What is classpath?
Membro desde: 14/05/2009 15:49:58
Mensagens: 7
Offline
|
Só corrigindo, pois a linha log.path correta é: log.path=c://java/workspace_atchik/. Mas o problema certamente não é esse.
Outro ponto que vale a pena citar é que este projeto utiliza STRUTS2.
Espero que vc possa me dar uma luz nesse problema.
Abs.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/05/2009 08:53:10
|
feliperod
JavaTeenager
![[Avatar]](/images/avatar/12d836bf64839f987338414ccbec657f.jpg)
Membro desde: 07/11/2006 14:10:54
Mensagens: 179
Offline
|
Olá Gilberto,
Com base no que você me passou, o problema parece na URL de conexão. Não tá faltando a porta em que o banco roda não?
Porém, pela Exception pode ser erro na hora de ler os templates. Talvez com a stack_trace completa seja mais fácil de identificar.
Isso pode ser erro até mesmo do Struts2. Pelo fato de funcionar de dentro do eclipse e depois não funcionar no Browser, pode ser falta de alguma dependência também. Mas aí acho que Exception seria outra.
E pra terminar, acho que vale a tentativa também, você já experimentou colocar uma barra na frente do 'br' na linha 'box.pathBase=br/com/atchik/resources' ?
|
Felipe Rodrigues de Almeida
No Twitter: @felipero
www.fratech.net
infoq.com/br - Participe! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/05/2009 09:35:51
|
gilberto.bsousa
What is classpath?
Membro desde: 14/05/2009 15:49:58
Mensagens: 7
Offline
|
Oi Felipe
Tentei colocando o "/" antes do BR, mas não adiantou.
Abaixo envio todo o stack para que, quem sabe, vc possa identificar se o erro é no acesso ao BD ou na tentativa de ler os templates (.sql).
Agradeço desde já pela ajuda!
May 15, 2009 11:06:01 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
May 15, 2009 11:06:01 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
May 15, 2009 11:06:24 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(File.java:363)
at org.boxsql.ioEngine.IOEngine.readResourceFile(IOEngine.java:23)
at org.boxsql.templateEngine.TemplateEngine.getSQLQuery(TemplateEngine.java:36)
at org.boxsql.BoxSQL.getTemplate(BoxSQL.java:254)
at org.boxsql.BoxSQL.getList(BoxSQL.java:29
at br.com.atchik.dao.LoginDAO.Login_Validation(LoginDAO.java:25)
at br.com.atchik.actions.LoginAction.checkLogin(LoginAction.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:4
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:186)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:207)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:127)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:107)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:206)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:121)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:12
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/05/2009 10:02:32
|
gilberto.bsousa
What is classpath?
Membro desde: 14/05/2009 15:49:58
Mensagens: 7
Offline
|
Oi Felipe
Queria adicionar uma questão:
Se o problema for no acesso aos templates, para eliminar a linha box.pathBase=br/com/atchik/resources ( que no caso, por alguma razão não estaria encontrando os respectivos arquivos). Onde devo colocar os templates (.sql) para que os metodos das classes do pacote br.com.atchik.dao possam encontrá-los por default ?
PS: Só para informação tentei colocar a porta usada pelo BD, mas não adiantou também.
Abs.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/05/2009 10:24:19
|
feliperod
JavaTeenager
![[Avatar]](/images/avatar/12d836bf64839f987338414ccbec657f.jpg)
Membro desde: 07/11/2006 14:10:54
Mensagens: 179
Offline
|
Não há uma convenção para isso. Ainda não. =(
Estou trabalhando numa nova versão do BoxSQL, mas as coisas estão corridas demais. Porém posso dizer que será interessante essa nova versão. E pelas funcionalidade e escopo irá receber outro nome.
Votando ao problema:
Sim o erro é na leitura dos templates. Você mencionou que funciona no eclipse?
Se funciona no eclipse e não funciona fora do eclipse o erro só pode estar no ambiente. Falta algo no classpath (como esse pacote em que estão os templates por exemplo).
Voc6e consegue verificar se no servidor de aplicações este pacote existe? Talvez você deva verificar se o .war foi descompactado. Não se isso influenciaria (eu acho que sim).
Pode também passar a sua estrutura de diretórios?
|
Felipe Rodrigues de Almeida
No Twitter: @felipero
www.fratech.net
infoq.com/br - Participe! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/05/2009 10:26:21
|
feliperod
JavaTeenager
![[Avatar]](/images/avatar/12d836bf64839f987338414ccbec657f.jpg)
Membro desde: 07/11/2006 14:10:54
Mensagens: 179
Offline
|
Ah... e se você estiver no windows, mude o path do log para c:\\java\workspace_atchik\ e não c://java/workspace_atchik/
|
Felipe Rodrigues de Almeida
No Twitter: @felipero
www.fratech.net
infoq.com/br - Participe! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/05/2009 13:09:50
|
gilberto.bsousa
What is classpath?
Membro desde: 14/05/2009 15:49:58
Mensagens: 7
Offline
|
Oi Felipe
Para gerar o jar desta aplicacao uso o ANT. O built.xml que construí segue abaixo.
<project name="QuebraBases" basedir="../" default="all">
<!-- Project settings -->
<property name="project.title" value="QuebraBases"/>
<property name="project.jar.file" value="QuebraBases.jar"/>
<path id="class.path">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- Classpath for Project -->
<path id="compile.classpath">
<pathelement path ="lib/commons-beanutils.jar"/>
<pathelement path ="lib/commons-digester.jar"/>
<pathelement path ="lib/struts.jar"/>
<pathelement path ="lib/BoxSQL-1.5.jar"/>
<pathelement path ="lib/dwr.jar"/>
<pathelement path ="lib/dwr-1.1-beta-3.jar"/>
<pathelement path ="lib/myfaces-jsf-api-1.0.9.jar"/>
<pathelement path ="lib/mysql-connector-java-5.0.5-bin.jar"/>
<pathelement path ="lib/servlet-api-2.4.jar"/>
<pathelement path ="lib/struts2-jsf-plugin-2.0.11.2.jar"/>
<pathelement path ="lib/commons-fileupload-1.1.1.jar"/>
<pathelement path ="lib/commons-io-1.0.jar"/>
<pathelement path ="lib/commons-dbutils-1.1.jar"/>
<pathelement path ="lib/commons-logging-1.0.4.jar"/>
<pathelement path ="lib/freemarker-2.3.8.jar"/>
<pathelement path ="lib/ognl-2.6.11.jar"/>
<pathelement path ="lib/struts2-core-2.0.11.2.jar"/>
<pathelement path ="lib/xwork-2.0.5.jar"/>
<pathelement path ="lib/catalina-ant.jar"/>
<pathelement path ="classes"/>
<pathelement path ="${classpath}"/>
</path>
<!-- Check timestamp on files -->
<target name="prepare">
<tstamp/>
<copy file="src/struts.xml" todir="src/classes"/>
</target>
<!-- Copy any resource or configuration files -->
<target name="resources">
<copy todir="src/classes" includeEmptyDirs="no">
<fileset dir="src/">
<patternset>
<include name="**/*.conf"/>
<include name="**/*.properties"/>
<include name="**/*.xml"/>
</patternset>
</fileset>
</copy>
<copy todir="src/classes/br/com/atchik/resources/" includeEmptyDirs="no">
<fileset dir="src/br/com/atchik/resources/">
<patternset>
<include name="**/*.sql"/>
</patternset>
</fileset>
</copy>
<copy todir="src/classes/" includeEmptyDirs="no">
<fileset dir="src/br/com/atchik/resources/">
<patternset>
<include name="**/*.sql"/>
</patternset>
</fileset>
</copy>
</target>
<!-- Normal build of application -->
<target name="compile" depends="prepare,resources">
<javac srcdir="src" destdir="src/classes" debug="true" debuglevel="lines,vars,source">
<classpath refid="class.path"/>
</javac>
<jar
jarfile="lib/${project.jar.file}"
basedir="src/classes"/>
</target>
<!-- Remove classes directory for clean build -->
<target name="clean"
description="Prepare for clean build">
<delete dir="classes"/>
<mkdir dir="classes"/>
</target>
<!-- Build Javadoc documentation -->
<target name="javadoc" description="Generate JavaDoc API docs">
<delete dir="./doc/api"/>
<mkdir dir="./doc/api"/>
<javadoc sourcepath="./src/java"
destdir="./doc/api"
classpath="${servlet.jar}:${jdbc20ext.jar}"
packagenames="*"
author="true"
private="true"
version="true"
windowtitle="${project.title} API Documentation"
doctitle="<h1>${project.title} Documentation (Version ${project.version})</h1>"
bottom="Copyright © 2002">
<classpath refid="compile.classpath"/>
</javadoc>
</target>
<!-- Build entire project -->
<target name="project" depends="clean,prepare,compile"/>
<!-- Create binary distribution -->
<target name="dist" description="Create binary distribution">
<mkdir dir="${distpath.project}"/>
<jar
jarfile="${distpath.project}/${project.distname}.jar"
basedir="./classes"/>
<copy
file="${distpath.project}/${project.distname}.jar"
todir="${distpath.project}"/>
<war
basedir="../"
warfile="${distpath.project}/${project.distname}.war"
webxml="web.xml">
<exclude name="${distpath.project}/${project.distname}.war"/>
</war>
</target>
<!-- Build project and create distribution-->
<target name="all" depends="project"/>
</project>
Tentei, como vc pode ver neste XML acima, copiar os templates para diferentes pastas para ver se a aplicacao os encontrava. Mas não funcionou.
Estou infelizmente usando o windows Vista, mas até agora não havia apresentado nenhum problema, e acho que este especificamente não tem a ver com esse fato.
Inclui no meu classpath a pasta aonde são colocados os templates após rodar o ant, veja abaixo:
.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip; c:\Java\ANT_HOME; c:\Java\xerces-2_9_1;c:\Java\Tomcat 6.0\webapps\QuebraBases\WEB-INF\src\br\com\atchik\resources;
Porém a aplicação continua não encontrando os templates...alguma luz no fim desse tunel?
|
|
|
 |
|
|