小编Lea*_*ore的帖子

来自不同区域的Ec2实例的RDS实例访问

我在AWS上进行了以下设置

  • 1区中的一个RDS实例.
  • 2区的一个Ec2实例.
  • 2区的EC2-Security Group sgrg2.

我试图通过将安全组添加到RDS实例列表来从EC2访问RDS.它没有授权.

此外,在将sgrg2添加到RDS安全组时,它说"帐户xxx的EC2安全组sgrg2不存在".

请帮忙.

amazon-ec2 rds amazon-web-services

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

在HTML单元中跳过特定的Javascript执行

我有一个URL.我想在执行Java Scripts后获取URL的Page-Source.

使用HtmlUnit获取页面源:URL卡住了

最初我怀疑这是由于系统资源和高CPU使用率导致URL卡住了.

然后我尝试在HTML UNIT 2.9和2.11上运行它.它在解析时都遇到了问题.请参阅上面的问题,以获取卡住的HTML UNIT代码.

现在我怀疑这可能是由于JS Execution进入无限循环.

我想检查哪些JS文件导致问题并将其从执行中删除.

如果他们是谷歌分析,推特等网站的JS,我可能根本不需要它们.

所以我想找到一种方法告诉HTML单元忽略某些JS文件并执行其余的.

有谁知道怎么做?

htmlunit

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

调试RestTemplate发布请求

我想POST以一个REST-API使用RestTemplateSpring.这是我正在使用的代码:

//Code to Post data using Rest Template
List<UserVO> userList = getUsers();
RestRequestVO submitRequestData = new RestRequestVO();
submitRequestData.setAction("update");
submitRequestData.setType("user");
submitRequestData.setItems(items);
ResponseEntity<String> resposne = restTemplate.postForEntity(putUserUrl, submitRequestData, String.class);
String message = resposne.getBody();

//The structure of class
public class RestRequestVO {
private String action;
private String type;
private List<UserVO> items;

//Setters and Getters
}

//Expected JSON
{
"action"="update",
"type"="user",
"items"=[
    { //user1 }, {//user2} ....
]
}
Run Code Online (Sandbox Code Playgroud)

我需要正确调试它,看看按restTemplate.postForEntity(putUserUrl, submitRequestData, String.class);行发送到REST服务器的确切JSON是什么.

我在用Eclipse.我已经尝试逐行调试代码.我也尝试过设置日志级别 …

java rest spring json resttemplate

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

CasperJS远程调试选项

我正在尝试为casperJS使用远程调试选项.

我在端口上运行它6666.

$casperjs --remote-debugger-port=6666 myscript.js
Run Code Online (Sandbox Code Playgroud)

调试器启动,我可以访问url上的WebKit检查器

http://localhost:6666/ 
Run Code Online (Sandbox Code Playgroud)

我看到第一个URL为about:blank.

当我点击它时,网页检查器加载.

当我输入_run()控制台时,我得到了

引用错误,_run未定义错误.

我无法继续前进.如果我需要在某处进行更正,请告诉我.

另外,我是否必须在CasperJS脚本中设置显式断点.如果必须,那怎么样?

更新1

尝试--remote-debugger-autorun = yes

$casperjs --remote-debugger-port=6666 --remote-debugger-autorun=yes myscript.js
Run Code Online (Sandbox Code Playgroud)

这会立即按照帮助中的说明运行脚本.但是,调试器仍然运行,并且进程不会退出.

OUTPUT

现在我可以在下面看到请求的URL:空白.

当我点击about:blank或request url时,WebKit检查器会打开.

但我再次陷入困境.

更新2

还试图执行用phantomJS移植的示例.

结果是一样的.我被困在一个空白的WebKit Inspector窗口.

remote-debugging phantomjs casperjs

5
推荐指数
2
解决办法
2848
查看次数

多个查询VS存储过程

我有一个应用程序,每小时大约20000个数据操作数据操作有30个参数(对于所有10个查询).有些是文本,有些是数字.一些文本参数长达10000个字符.

每个数据操作都遵循以下内容:

  • 单个DATA-OPERATION,在数据库中插入/更新多个表(大约10个).
  • 对于每个数据操作,我采取一个连接,
  • 然后我在DATA-OPERATION中为每个查询使用new prepared-statement.
  • 每次执行查询时都会关闭Prepared语句.
  • 连接将重用于所有10个预准备语句.
  • DATA-OPERATION完成后,连接关闭.

现在执行此数据操作,

  • 10个查询,10个准备语句(创建,执行,关闭),1个n/w调用.
  • 1个连接(打开,关闭).

我个人认为,如果我从10个以上的查询中创建一个存储过程,那将是更好的选择.

在SP的情况下,DATA-OPERATION将具有:

  • 1个连接,1个可调用语句,1个/ w命中.

我建议这样,但我被告知

  • 这可能比SQL查询更耗时.
  • 它会给DB服务器带来额外的负担.

我仍然认为SP是更好的选择.请让我知道您的意见.

基准测试是一种选择.将不得不搜索任何有助于此的工具.任何人都可以建议已经有这种问题的基准.

mysql sql stored-procedures

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

Mongo DB 在隐式 AND 中查找方法混淆

我是 mongodb 的新手我最近开始学习基本语法。我正在尝试使用 find 方法的运算符,并且在尝试隐式 AND 时遇到了一个令人困惑的情况。

我的收藏mathtable400 个文件如下:

{ "_id" : ObjectId("540efc2bd8af78d9b0f5d4b2")  , "index" : 1   }
{ "_id" : ObjectId("540efc2bd8af78d9b0f5d4b3")  , "index" : 2   }
{ "_id" : ObjectId("540efc2bd8af78d9b0f5d4b4")  , "index" : 3   }
{ "_id" : ObjectId("540efc2bd8af78d9b0f5d4b5")  , "index" : 4   }
{ "_id" : ObjectId("540efc2bd8af78d9b0f5d4b6")  , "index" : 5   }
{ "_id" : ObjectId("540efc2bd8af78d9b0f5d4b7")  , "index" : 6   }
{ "_id" : ObjectId("540efc2bd8af78d9b0f5d4b8")  , "index" : 7   }
{ "_id" : ObjectId("540efc2bd8af78d9b0f5d4b9") …
Run Code Online (Sandbox Code Playgroud)

mongodb nosql mongodb-query

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

初始化静态最终变量时捕获异常

我有以下代码:

public class LoadProperty
{
public static final String property_file_location = System.getProperty("app.vmargs.propertyfile");
public static final String application-startup_mode = System.getProperty("app.vmargs.startupmode");
}
Run Code Online (Sandbox Code Playgroud)

它从“VM 参数”读取并分配给变量。

由于静态最终变量仅在类加载时初始化,因此如果有人忘记传递参数,我如何捕获异常。

截至目前,当我使用“property_file_location”变量时,在以下情况下会遇到异常:

  • 如果值存在,并且位置错误,则会出现 FileNotFound 异常。
  • 如果未正确初始化(值为 null),则会抛出 NullPointerException。

我只需要在初始化时处理第二种情况。

第二个变量的情况类似。

整个想法是

  • 初始化应用程序配置参数。
  • 如果初始化成功,则继续。
  • 如果不是,则警告用户并终止应用程序。

java static final exception

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

队列上的最大活动 MQ 使用者数

我正在设置一个需要扩展的应用程序。我将消息发布到 Active MQ 并从那里读取消息。

到目前为止,我最多使用了 3 个指向队列的并发消费者(每个消费者从不同的物理机器上操作)。

我需要知道最多有多少消费者可以指向 Active MQ 中的队列。

有上限吗?

我找到了这个链接:

http://activemq.apache.org/multiple-consumers-on-a-queue.html

但它没有说明关于最大连接数/会话数/消费者的任何信息。它只说每个连接一个会话。

java activemq-classic jms

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

堆栈帧,方法调用和垃圾收集

我正在研究GC.我开始了解关于方法调用的以下机制:

在JAVA中的每个方法调用中,都会创建一个新的Frame并将其推送到堆栈上.此框架包含局部变量,操作数堆栈和对常量池的引用.当任一方法成功完成或方法抛出未捕获的异常时,将删除框架.

还有以下内容:

JVM规范不需要Java堆栈的特定实现.帧可以从堆中单独分配,也可以从连续内存中获取,或者两者都可以.

我的问题是:

由于Frame是Stack的一部分.Stack是Non-Heap区域的一部分.如果GC只负责清理堆区域,那么堆栈中可能存在或不存在堆栈的帧如何以及何时从内存中移除?

如果GC没有删除Frames,那么必须运行其他一些线程来清理它们.它是什么?如果它们被GC清理,那么它只是意味着如果应用程序运行到GC相关的问题中,不必要的方法调用可能是问题的一部分.

我希望我的问题很明确.

更新:与此相关的另一个问题:

class GCA {

   public static void main(String a[]) {
   Object obj = new Object();
   }
}
Run Code Online (Sandbox Code Playgroud)

据我了解,在上述方法中:

  • 引用变量obj将在Stack Frame的局部变量数组上分配.
  • new Object() 将在Heap上分配.
  • 清理帧所使用的内存obj不是GC的责任.当方法返回时,它将同步完成.
  • new Object() 将由GC清理.

以上理解是否正确?

java memory garbage-collection jvm

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

具有AJAX调用的CasperJS点击事件

我试图通过使用CasperJS和phantomJS 1.7.0模拟事件来从站点获取数据.

我能够模拟正常的点击事件并选择事件.但我的代码在以下场景中失败:

当我点击远程页面上的按钮/锚点等时,单击远程页面会启动一个AJAX调用/ JS调用(取决于程序员如何实现该页面).

在JS调用的情况下,我的代码工作,我得到更改的数据.但对于启动AJAX调用的点击,我没有获得更新的数据.

为了调试,我试图获取元素容器的页面源(之前和之后),但我看到代码没有变化.

我试图将等待时间从10秒设置为1毫秒,但这并不反映行为的任何变化.

下面是我点击的代码.我正在使用一个CSS路径数组,它表示要点击的元素.

/*Click on array of clickable elements using CSS Paths.*/
fn_click = function(){
casper.each(G_TAGS,function(casper, cssPath, count1) 
                    {
                            casper.then ( function() {
                            casper.click(cssPath);

                            this.echo('DEBUG AFTER CLICKING -START HTML ');
                            //this.echo(this.getHTML("CONTAINER WHERE DETAILS CHANGE"));
                            this.echo('DEBUG AFTER CLICKING -START HTML');
                            casper.wait(5000, function() 
                                                    {   

                                                        casper.then(fn_getData);
                                                    } 
                                    );
                            });     
                    });
};
Run Code Online (Sandbox Code Playgroud)

更新:

我尝试使用phantomJS中的remote-debug选项来调试上面的脚本.它不起作用.我在窗户上.我也会尝试在Ubuntu上运行远程调试.

请帮我.我将不胜感激任何帮助.

更新:

请查看以下代码作为示例.

https://gist.github.com/4441570
Run Code Online (Sandbox Code Playgroud)

点击前和点击后的内容相同.

我点击标签下的排序选项(投票/活动等).

ajax screen-scraping phantomjs casperjs

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