小编Bog*_*dan的帖子

使用log4j与hibernate和glassfish 3.0.1

我正在尝试在glassfish 3.0.1上使用JPA设置hibernate 3.5.3;

我正在使用netbeans 6.9.1企业项目; 我添加了所有必需的hibernate文件,一切都很好,除了日志...

我添加到项目类路径,就像文档中说的那样(仅列出了与日志相关的jar):

-slf4j-API-1.5.8.jar

-slf4j-log4j12-1.5.8.jar

-log4j-1.2.16.jar

-log4j.properties看起来像:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.rootLogger=info, stdout

log4j.logger.org.hibernate.test=info
log4j.logger.org.hibernate.tool.hbm2ddl=debug
Run Code Online (Sandbox Code Playgroud)

我还使用-Dlog4j.debugJVM属性激活了调试.

我一部署就在服务器日志中得到这个:

SEVERE: log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
SEVERE: log4j:ERROR The class "org.apache.log4j.Appender" was loaded by 
SEVERE: log4j:ERROR [EarLibClassLoader : 
urlSet = [URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/antlr-2.7.6.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/commons-collections-3.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/dom4j-1.6.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/gwt-servlet.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/hibernate3.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/javassist-3.9.0.GA.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/jta-1.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/log4j-1.2.16.jar, …
Run Code Online (Sandbox Code Playgroud)

java hibernate log4j glassfish

5
推荐指数
1
解决办法
6274
查看次数

从EJB拦截器抛出异常

假设我有一个看起来像这样的拦截器:

public class AuthorizationInterceptor {

  Logger log = Logger.getLogger(getClass().getName());

  @AroundInvoke
  private Object authorize(InvocationContext ic) throws Exception{
    // ... some other logic for authorization

    if (!allowedMethods.contains(ic.getMethod().getName())){
      log.info("Authorization failed. Preparing to throw exception");
      throw new AuthException("Authorization failed for method " +
                ic.getMethod().getName());
    }

    return ic.proceed();
  }
}
Run Code Online (Sandbox Code Playgroud)

这适用于我的EJB的不同方法.

我通常希望将异常throed传递给调用客户端,就像所有正常的EJB异常一样.

显然,如果我从Interceptor中抛出它,就不会发生这种情况......它甚至没有记录在服务器上; 喜欢它永远不会抛出,但它是 - 从不执行return语句.

我究竟做错了什么?

我正在使用GF 3.0.1

java java-ee ejb-3.1 glassfish-3

5
推荐指数
1
解决办法
2900
查看次数

在Outlook 2007或更高版本中控制加密和数字签名按钮

我正在使用VBA中的一个小脚本,它允许我自动转发消息,包括加密消息.

我唯一的问题是以编程方式删除加密.

我以为我可以这样做:

  • 打开邮件
  • 取消选择加密和签名选项
  • 转发信息

使用这种方法,我不知道如何获得加密和签名按钮的引用.

这是适用于标准非加密邮件的代码.我将此方法设置为所有传入邮件的"电子邮件规则":

Sub test_macro(MyMail As MailItem)
    MyMail.Display
    'Need some API here to access the decrypt button    


    MyMail.Recipients.Add "otheraddress@company.com"
    MyMail.Recipients.Add "otheraddress2@company.com"
    Item_Send (MyMail)


End Sub
Run Code Online (Sandbox Code Playgroud)

背景

这里需要将部门地址的所有传入消息转发给某些人.转发它们加密会导致各种版本的Outlook(2003/2007/2010/etc)之间出现各种证书问题,因为它们都需要拥有部门地址的私钥,这似乎与他们的个人帐户证书冲突(我得到所有一种不稳定的行为,有时它有效,有时不行.

替代方法

  • 我意识到,由于安全限制,目前的方法可能不会起作用,所以我正在研究替代方案.也许如果我为Outlook创建一个插件,是否会让我访问一些安全API来解密传入的消息?

  • 创建POP客户端,获取,手动解密消息并转发它.这可能是最难的方法,因为默认情况下Outlook支持很多加密格式/算法.

还有其他想法吗?谢谢!

.net vba outlook-2007

5
推荐指数
1
解决办法
2393
查看次数

是否有具有这些功能的轻量级 JDBC 包装器?

  • 命名参数,就像 Spring 中的 JdbcTemplate
  • JDBC 连接设置的 XML 配置
  • 查询的 XML 配置。类似于 Hibernate 的东西<sql-query>。有关示例,请参阅命名 SQL 查询

我正在考虑尝试建立自己的,但我想我会在这里问,也许已经完成了。

显然我不想使用 ORM 和 JdbcTemplate。

java jdbc

5
推荐指数
1
解决办法
3839
查看次数

如何在Netbeans中将现有企业项目从Java EE5升级到Java EE 6(6.9)

该项目有一个EJB模块和一个Web模块.更改服务器很简单,但我也想切换到EJB 3.1,但我相信我需要更改所有类型的配置文件,因为我无法从项目属性窗口中执行此操作.

任何提示或链接做有用的文档将不胜感激.

谢谢!

java netbeans java-ee java-ee-6 java-ee-5

3
推荐指数
1
解决办法
4417
查看次数

Play Framework 1用于ORM实现的内容是什么?

Play Framework版本1使用什么ORM?从我从网站上读到的,它提到了JPA,当我搜索JPA时,我找不到ORM框架的下载站点.CMIIW,JPA似乎是Java的一个特性,而不是随时可用的ORM框架.

Play使用Hibernate吗?如果是,我怎样才能在Java中创建模型类并自动创建数据库中的表?如何在Hibernate中使用.find()方法?

谢谢.

orm hibernate jpa playframework playframework-1.x

3
推荐指数
1
解决办法
722
查看次数

多个字段的条件显示 - JSF 2.0/Primefaces

有条件地显示多个元素的最佳策略是什么(例如,依赖于bean值的字段列表)?

我想到的可能解决方案:

  1. JSTL <c:if ... >条款.据我所知,使用JSTL和JSF是不鼓励的
  2. 使用大多数组件的"已渲染"属性.不幸的是,当我不得不处理很多领域时,将它们放在每个领域都变得笨拙......
  3. 将元素放在容器上并在容器上设置呈现的属性

选项3似乎是最明智的,但我不知道用于包装这些字段的组件.它需要是一个不影响布局的组件......

我可以使用span作为包装器并设置CSS visible属性,但仍然会呈现字段,只是不可见.

有什么想法吗?

更新:

这是一些实际的布局代码.我试过两个<h:panelGroup>&<ui:fragment>.使用这些标签中的任何一个都会将我的所有字段都放在一个单独的字段中<td>,我承认,这是有意义的,因为我在我的文件中放置了一个顶级元素panelGrid.

唯一能按我想要的方式工作的是上面列表中的#2.

    <h:panelGrid columns="2">
        <!-- fields if person -->
        <ui:fragment rendered="#{createEntity.entityType eq 'fizica'}">
            <h:outputLabel value="Prenume: " />
                <h:inputText value="#{createEntity.person.firstName}" />
            <h:outputLabel value="Nume familie: " />
                <h:inputText value="#{createEntity.person.familyName}"  />
            <h:outputLabel value="CNP: " />
                <h:inputText value="#{createEntity.person.cnp}" />
            <h:outputLabel value="Date carte identitate: " />
                <h:inputText value="#{createEntity.person.idCardInfo}" />
            <h:outputLabel value="Cetatenie: " />
                <h:inputText value="#{createEntity.person.country}" />
        </ui:fragment>

        <!--  fields for company  -->
        <ui:fragment …
Run Code Online (Sandbox Code Playgroud)

java primefaces jsf-2

2
推荐指数
1
解决办法
1万
查看次数

语法错误.帮助一个小的JS片段:(

大家好.我不太了解JS,但我想用jQuery做一些快速的工作.

但是我一直盯着这看了大约一个小时,我不明白我错过了什么:

<script type="text/javascript">
    $('#qty_6035').change(function () {
        var substractedQty, stockQty, remQty;
        substractedQty = (int) $('#qty_6035').val(); // missing ; before statement 
        stockQty = (int) $('#orig_qty_6035').val();
        $('#rem_qty_6035').html(stockQty-substractedQty);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

jQuery库包含在文档的开头.

谢谢.

javascript jquery

1
推荐指数
1
解决办法
88
查看次数