关于应用程序的一些背景,我将在接下来的几行中讨论:
XYZ是一个数据屏蔽工作台eclipse RCP应用程序:你给它一个源表列和一个目标表列,它将应用一个trasformation(加密/ shuffling/etc)并将行数据从源表复制到目标表.现在,当我一次屏蔽n个表时,该应用程序将启动n个线程.
这是问题:
我在第一次推出上述应用程序时遇到了生产问题.不幸的是,我没有任何日志来到根.但是,我尝试在测试区域运行此应用程序并进行压力测试.
当我收集.hprof文件并通过分析器(yourKit)运行它时,我注意到oracle.jdbc.driver.T4CPreparedStatement的对象保留了堆.分析还告诉我,我的一个类正在持有对这个preparedstatement对象的引用,因此,n个线程有n个这样的对象.T4CPreparedStatement似乎有字符数组:lastBoundChars和bindChars,每个都是char [300000].
所以,我研究了一下(google!),获得了ojdbc6.jar并尝试反编译T4CPreparedStatement.我看到T4CPreparedStatement扩展了OraclePreparedStatement,它动态地管理lastBoundChars和bindChars的数组大小.
所以,我的问题是:
我在网上找到了类似的东西:http: //forums.oracle.com/forums/thread.jspa?messageID = 2860681
感谢您的建议/意见.
我有一个看起来像这样的课程:
public class UploadBean {
protected UploadBean(Map<String,?> map){
//do nothing.
}
}
Run Code Online (Sandbox Code Playgroud)
要通过调用相应的构造函数来使用反射并创建对象,我编写了如下代码:
Class<?> parTypes[] = new Class<?>[1];
parTypes[0] = Map.class;
Constructor ct = format.getMappingBean().getConstructor(parTypes);
Object[] argList = new Object[1];
argList[0] = map;
Object retObj = ct.newInstance(argList);
Run Code Online (Sandbox Code Playgroud)
此代码在运行时因"无此方法异常"而失败.现在,如何正确设置参数类型?!这样可以识别构造函数中的泛型map参数?
就像这篇文章的主题所暗示的那样,我正在研究开发一个像nero这样的套件来帮助刻录蓝光光盘.关于从哪里开始,我有点无能为力.Java API中有什么可以让你这样做吗?如果我从头开始,我需要从蓝光光盘规格开始吗?是否有任何开源工具已经在做这个?我尝试在sourceforge.net上搜索,但没有发现任何有用的东西.任何帮助深表感谢.
我正在为示例Web应用程序尝试spring-security.在声明LDAPAuthenticationProvider时,我注意到您必须在applicationContext.xml文件中声明所有设置!
作为一个春天新手,我明白必须在applicationContext文件中声明dependecies.但是,在典型的企业方案中,您可以让管理员配置您的ldap设置.因此,您需要将数据库中的ldap服务器相关信息加载到应用程序中,然后连接到配置的服务器.如果是这种情况,我如何在Spring中处理这个问题?
我有一节课:时间表.
public class Schedule {
private int locationNum;
private int cost;
private String costReason;
private Date weekOfChange;
private Date dayOfChange;
private String changeReason;
// and all those getters and setters
public Schedule(int locationNum, int cost, String costReason, Date weekOfChange, Date dayOfChange, String changeReason) throws ApplicationException {
//change is all or nothing - all attributes are present or none
if((weekOfChange!=null && dayOfChange!=null && changeReason!=null) || (weekOfChange==null && dayOfChange == null && changeReason == null)) {
this.weekOfChange = weekOfChange;
this.dayOfChange = dayOfChange; …Run Code Online (Sandbox Code Playgroud) 我正在寻找使用Struts/Spring/Hibernate等技术让开发人员生活轻松的插件.例如,这是一个要求:
如果我要更改Struts Action,我应该能够为我的webapp列出所有Struts动作,右键单击并添加方法/进行一些更改.
所以,基本上,我需要知道哪些插件会使eclipse更加"技术/框架友好".
感谢您的帮助!
好.所以这是一个netbeans问题,这要归功于GUI设计器自动生成的代码.我使用netbeans UI设计器设计了一个GUI,它是为java 1.6编译的.在我完成UI后,我意识到我应该为Java 1.4而不是1.6执行此操作.在从1.6降级到1.4的努力中,我改变了表单属性以使用Swing Extensions Library,我在代码中摆脱了增强的forloop和泛型,我对此最终错误感到困惑:
类org.jdesktop.application.ResourceMap中的错误方法getString不能应用于给定的类型; required:java.lang.String,java.lang.Object [] found:java.lang.String reason:actual和formal参数列表的长度不同
这来自Netbeans自动生成的代码块,用于此方法调用:
resourceMap.getString("panel.tabTitle");
Run Code Online (Sandbox Code Playgroud)
显然,这可能通过写这个来解决:
resourceMap.getString("panel.tabTitle",new Object{String.class});
Run Code Online (Sandbox Code Playgroud)
但是,我对如何使netbeans对它生成的代码进行更改感到难过!如果您之前已经看过这个问题并且能够解决它,请告诉我.感谢您的帮助.
这是我的要求.
我在群集中有一堆机器(比如4-A,B,C,D).
A的工作是轮询数据库以获取更新(因此,A可以在订单表中查找新订单).
一旦A接收到更新,它就会验证B,C,D中哪一个相对空闲(负载均衡是我猜的正确的单词).然后它命令B,C,D中的一个开始处理订单.A保持在B/C/D上处理订单的轨道.
B,C,D就像是奴隶 - 他们只接收来自A的更新并在完成订单处理时通知A. 如果A发生故障(由于网络问题或其他原因),B,C,D中的一个将成为主服务器并执行A的职责A.关于正在运行的作业的元数据也会定期备份到备份节点E.所以当B/C/D成为新的主人,它将从E读取元数据.
我知道这听起来有点像hadoop,但订单处理不适合map reduce模型,所以我正在寻找利用ZooKeeper等其他框架的方法,它可以帮助A,B,C和D之间的协调.
ZooKeeper适合吗?

上图中的每一行,都是使用 gridbaglayout 放置组件的自定义组件。我试图避免按钮“Abc”之前的空间,我希望它完全推到左侧。如何使用 gridbaglayout 约束实现这一点?
编辑添加源代码。
gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = GridBagConstraints.NONE;
gridBagConstraints.insets = new Insets(11,0,0,0);
add(abcButton,gridBagConstraints);
gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = GridBagConstraints.NONE;
gridBagConstraints.insets = new Insets(20, 10, 0, 0);
add(comp1,gridBagConstraints);
gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = GridBagConstraints.NONE;
gridBagConstraints.insets = new Insets(20, 35, 0, 0);
add(comp2, gridBagConstraints);
gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 3;
gridBagConstraints.gridy = 0;
gridBagConstraints.ipadx = …Run Code Online (Sandbox Code Playgroud) 所以,我有这个基于java的数据转换/屏蔽工具,我想在Oracle 10g上进行测试.Oracle 10g的优点在于,您可以获得大量包含50万条记录的示例模式.模式是:SH,OE,HR,IX等.所以,我安装了10g,发现安装脚本在ORACLE_HOME/demo/scripts下.
我稍微定制了这些脚本以便在批处理模式下运行.这解决了我的一半要求 - 为我的数据转换软件测试创建源数据.要求的后半部分是我在不使用任何数据的情况下以不同的名称(TR_HR,TR_OE等等)创建相同的模式.这些模式将代表我的目标模式.因此,简而言之,我的软件将从模式中的表中获取数据,并将其加载到不同模式中的同一个表中.
现在,我在创建目标模式并清空它时遇到两个问题.
有没有这么简单的方法,没有这么大惊小怪?我需要一个复杂的数据集用于我的测试(复杂的,如带有触发器的表,多个层次结构......例如,一个子表最多有5个级别,一个父表引用一个IOT表和一个IOT表指的是非IOT表等.).从数据集的角度来看,示例模式几乎是完美的.我看到的唯一挑战是自动化加载源模式的整个过程,然后创建目标模式并清空它们.感谢您的帮助和建议.
UPDATE
您需要运行以手动安装oracle示例模式的主脚本是mkplug.sql.以下是从dmp文件加载模式的行:
host imp "'sys/&&password_sys AS SYSDBA'" transport_tablespace=y file=&imp_file log=&imp_logfile datafiles='&datafile' tablespaces=EXAMPLE tts_owners=hr,oe,pm,ix,sh
Run Code Online (Sandbox Code Playgroud)
好吧,我尝试修改此行(在修复mkplug.sql和所有其他sql文件上的路径相关问题之后)到此:
host imp "'sys/&&password_sys AS SYSDBA'" rows=n transport_tablespace=y file=&imp_file log=&imp_logfile datafiles='&datafile' tablespaces=EXAMPLE tts_owners=hr,oe,pm,ix,sh
Run Code Online (Sandbox Code Playgroud)
而且......它没有不帮忙.尽管rows = n属性:(使用行数据创建了架构:(
java ×8
oracle10g ×2
architecture ×1
blu-ray ×1
cd-burning ×1
eclipse ×1
generics ×1
hadoop ×1
java-ee ×1
memory-leaks ×1
netbeans ×1
oop ×1
oracle ×1
performance ×1
reflection ×1
sample ×1
sample-data ×1
spring ×1
swing ×1
validation ×1