小编Vin*_*lds的帖子

检测System.setProperty方法调用

我在这里面临一个难题.

我开发的一个应用程序是加载JAXP 的DocumentBuilderFactory类的错误实现.后来推断这种行为是由不同团队/公司构建的不同应用程序中的另一个类产生的.通过包含类似于下面的静态块,所述类在加载时更改了首选的DocumentBuilderFactory类:

  static
  {
    System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "a new factory");
  }
Run Code Online (Sandbox Code Playgroud)

如果使用DocumentBuilderFactory.newInstance方法的Javadocs,那么当调用newInstance方法时,上述代码负责更改返回给所有应用程序的解析器实现是很明显的.

应用了一个修补程序,它纠正了这个问题,但它让我问这个问题 - 如何确定哪个类在运行时执行System.setProperty调用?

我们已经生成了一个OpenJDK的自定义版本,其中包含一个修改过的System类,它负责确定罪魁祸首,原因很简单,我们无法访问部署在服务器上的所有应用程序的所有源代码.但这可能只是因为生产环境在其环境中得到了复制.因此,问题也可以解释为 - 如何在生产环境中确定哪个类在运行时执行System.setProperty调用?

java debugging instrumentation jaxp

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

编译时Java 6.0中的内存不足错误

我知道如何在运行时使用-Xmx -Xms,有没有办法让编译器分配更多的ram.我的电脑上有2场演出.我不使用IDE只是textpad.我正在尝试创建一个10,000,000位的BigInteger并对其进行操作.我尝试创建一个StringBuffer和ensureCapacity(10000000),它不会编译.是否有一个类可以用来告诉编译器我需要更多ram才能编译,或者编译时?我确实读过有关RunTime方法的内容,并且我将继续乘以BigInteger并观察堆.我尝试将字符串嵌入代码"1000000"+等10,000,000个数字,它也不会编译.

java memory javac

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

为oracle 8i选择jdbc驱动程序

哪个jdbc驱动程序应该用于连接oracle 8i?我正在使用jdk 1.6和tomcat.

oracle jdbc java-ee

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

你有没有做过SQL注入?

我想知道你是否曾经在网站上使用SQL注入进行道德黑客攻击.

你用过什么技巧/技巧(尤其是mysql)?

mysql sql sql-injection

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

在java中从批处理文件运行jar

我有问题从jar运行主类.

Ant脚本生成了以下文件夹:

MyProject(Somewhere in C:)
 |
 |
 |____configuration(this contains properties/XML file)
 |
 |____dist(contains MyProject.jar)
 |
 |____lib(contains all other jars)
 |
 |____run(contains batch file to run MyProject.jar)
Run Code Online (Sandbox Code Playgroud)

在内部运行文件夹中,我有一个批处理文件,其内容如下:

java -jar ../dist/MyProject.jar;../lib/*.jar com.my.test.MainTest
Run Code Online (Sandbox Code Playgroud)

有人可以指导我.我只想去运行文件夹并双击.bat文件并运行应用程序.

我正进入(状态

Exception in thread "main" java.lang.NoClassDefFoundError: MyProject/jar
Run Code Online (Sandbox Code Playgroud)

更新

新的错误是:

The java class is not found:  com.microsoft.sqlserver.jdbc.SQLServerException
Run Code Online (Sandbox Code Playgroud)

谢谢...

java jar

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

如何在 EJB 中提交事务?

我有以下场景,

public void someEjbMethod1()
{
    for (int i=0; i=10; i++)
    {
        em.merge(arr[i]);
        em.flush();
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要分别合并 ( arr[i]) 的每个对象。因为上面的代码将arr[i]在函数末尾提交所有实例。

我正在考虑执行以下操作:

public void someEjbMethod1()
{
    for (int i=0; i=10; i++)
    {
        saveObj(arr[i]);
    }
}

// should I use a transaction attribute here??
public void saveObj(SomeObject obj)
{
    em.merge(arr[i]);
    em.flush();
}
Run Code Online (Sandbox Code Playgroud)

java ejb transactions

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