我正在使用带有Eclipse Helios 3.6的GlassFish 3服务器适配器.我可以使用Eclipse中的Servers视图启动服务器,运行得很好 - 但是我无法调试我的代码.
使用GF管理控制台启用调试(配置→JVM设置→调试,然后重新启动服务器)后,单击调试(Ctrl+ Alt+ D)会给出一个错误窗口:

我猜这是因为Eclipse无法连接到JVM的调试端口(默认为9009).
在Helios中设置GlassFish 3调试的正确方法是什么?
回复:@The Elite Gentleman,控制台中没有任何错误.这是一个例子:
Nov 29, 2010 11:47:42 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: JVM invocation command line:
C:\Program Files\Java\jdk1.6.0_22\bin\java.exe
-cp
C:/glassfishv3/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:MaxPermSize=192m
-XX:NewRatio=2
-XX:+LogVMOutput
-XX:LogFile=C:\glassfishv3\glassfish\domains\myDomain/logs/jvm.log
-Xmx512m
-client
-javaagent:C:/glassfishv3/glassfish/lib/monitor/btrace-agent.jar=unsafe=true,noServer=true
-Dosgi.shell.telnet.maxconn=1
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-Dfelix.fileinstall.dir=C:\glassfishv3\glassfish/modules/autostart/
-Djavax.net.ssl.keyStore=C:\glassfishv3\glassfish\domains\myDomain/config/keystore.jks
-Dosgi.shell.telnet.port=6666
-Djava.security.policy=C:\glassfishv3\glassfish\domains\myDomain/config/server.policy
-Dfelix.fileinstall.poll=5000
-Dcom.sun.aas.instanceRoot=C:\glassfishv3\glassfish\domains\myDomain
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Dosgi.shell.telnet.ip=127.0.0.1
-Djava.endorsed.dirs=C:\glassfishv3\glassfish/modules/endorsed;C:\glassfishv3\glassfish/lib/endorsed
-Dcom.sun.aas.installRoot=C:\glassfishv3\glassfish
-Djava.ext.dirs=C:\Program Files\Java\jdk1.6.0_22/lib/ext;C:\Program Files\Java\jdk1.6.0_22/jre/lib/ext;C:\glassfishv3\glassfish\domains\myDomain/lib/ext
-Dfelix.fileinstall.bundles.new.start=true
-Djavax.net.ssl.trustStore=C:\glassfishv3\glassfish\domains\myDomain/config/cacerts.jks
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
-Djava.security.auth.login.config=C:\glassfishv3\glassfish\domains\myDomain/config/login.conf
-DANTLR_USE_DIRECT_CLASS_LOADING=true
-Dfelix.fileinstall.debug=1
-Dorg.glassfish.web.rfc2109_cookie_names_enforced=false
-Djava.library.path=C:/glassfishv3/glassfish/lib;C:/Program Files/Java/jdk1.6.0_22/bin;C:/glassfishv3/glassfish;C:/Windows/Sun/Java/bin;C:/Windows/System32;C:/Windows;C:/Program Files/Java/jdk1.6.0_22/jre/bin/server;C:/Program Files/Java/jdk1.6.0_22/jre/bin;C:/Program Files/Java/jdk1.6.0_22/jre/lib/amd64;C:/Python26/Scripts;C:/Python26;C:/Windows/System32/wbem;C:/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static;C:/Program …Run Code Online (Sandbox Code Playgroud) 我正在使用IE9 beta和下面的测试代码,当vbscript尝试附加到数组时遇到80020102错误.如果我在怪癖模式下运行它似乎工作.
不知道这是一个MS问题还是我正在做的不正确的事情,我已经将它提交给IE9s的bug库.有没有人对解决方案有什么建议?
我发布了完整的HTML,但它在预览中总是看起来格格不入.
-- VBscript part ---
Function getBlankArray()
getBlankArray = Array()
End Function
Function appendArray(arr, val)
redim preserve arr(ubound(arr) + 1)
arr(ubound(arr)) = val
appendArray = arr
End Function
-- javascript part ---
function test()
{
var contextKeysArray = getBlankArray();
var jscontextKeysArray = new Array();
for(var x=0; x < 10; x++)
{
jscontextKeysArray[x] = x;
}
for(i = 0; i < jscontextKeysArray.length; i++)
{
contextKeysArray = (appendArray(contextKeysArray, jscontextKeysArray[i]));
}
}
Run Code Online (Sandbox Code Playgroud) 直到最近,我一直在使用jQuery和YUI并没有问题.有时候,在YUI按钮的回调中,$会被其他一些函数遮蔽(点击查看大版本):

而对于我的生活,我无法弄清楚为什么会这样.是的,我知道我可以安全使用jQuery或window.$在任何地方而不仅仅是$,但这只是一种解决方法,而不是一个实际的修复.
在运行时,我怎样才能找到这个$冒名顶替者的来源? - 例如找到它声明的位置,以及为什么它在我的bleedin范围内.
事实证明,这种行为很容易在Stack Overflow上重现(至少在Chrome和Firefox 4中),因为SO使用jQuery(再次点击查看完整大小):
我只能推断$为
function () {
return document.getElementById.apply(document, arguments)
}
Run Code Online (Sandbox Code Playgroud)
必须来自控制台本身!
with 再次罢工.

Chromium bug:http://code.google.com/p/chromium/issues/detail?id = 70969
如果我创建一个可运行的对象
Runnable run = new MyRunnable();
Run Code Online (Sandbox Code Playgroud)
然后将同一个确切的对象传递给两个线程构造函数并运行它们
new Thread(run).start;
new Thread(run).start;
Run Code Online (Sandbox Code Playgroud)
要学习node.js,我正在创建一个小应用程序,它可以获取存储在mongoDB中的一些RSS源,处理它们并从这些应用程序创建单个源(按日期排序).
它解析了大约50个RSS源的列表,其中有大约1000个博客项,因此解析整个内容需要很长时间,因此我将以下内容req.connection.setTimeout(60*1000);用于获取和解析所有源的足够长的时间.
一切都运行得很好,但请求被调用两次.(我查看过wireshark,我不认为这是关于favicon的).
我真的不明白.
你可以在这里测试自己:http://mighty-springs-9162.herokuapp.com/feed/mde/20(它应该创建一个rss feed,其中包含有关"mde"的最后20篇文章).
代码在这里:https://github.com/xseignard/rss-unify
如果我们专注于有趣的事情:
我有一个像这样定义的路线: app.get('/feed/:name/:size?', topics.getFeed);
而且topics.getFeed是这样的:
function getFeed(req, res) {
// 1 minute timeout to get enough time for the request to be processed
req.connection.setTimeout(60*1000);
var name = req.params.name;
var callback = function(err, topic) {
// if the topic has been found
if (topic) {
// aggregate the corresponding feeds
rssAggregator.aggregate(topic, function(err, rssFeed) {
if (err) {
res.status(500).send({error: 'Error while creating feed'});
} …Run Code Online (Sandbox Code Playgroud) 我想通过透明地包含它们来进一步简化我的JSP.例如,这是我要删除的行:
<%@ include file="/jsp/common/include.jsp"%>
Run Code Online (Sandbox Code Playgroud)
include.jsp文件基本上声明了我正在使用的所有标记库.我在WebSphere 6.0.2上运行它我相信并且已经尝试过这个配置:
<!-- Include this for every JSP page so we can strip an extra line from the JSP -->
<jsp-config>
<jsp-property-group>
<url-pattern>*.htm</url-pattern>
<!--<include-prelude>/jsp/common/include.jsp</include-prelude>-->
<include-coda>/jsp/common/include.jsp</include-coda>
</jsp-property-group>
</jsp-config>
Run Code Online (Sandbox Code Playgroud)
无论是include-prelude和include-coda没有工作.
我读到其他WebSphere用户无法启动并运行; 但是,tomcat用户能够.
我有一些jQuery,点击与类的链接触发'changetag'.我正在使用$.ajax()changetag.php来更新数据库.
然后我通过在开/关之间切换类来改变链接的视觉外观.代码如下:
$(function() {
$(".changetag").click(function(){
var element = $(this);
var I = element.attr("id");
var info = 'switch_tag=' + I;
$.ajax({
type: "POST",
url: "_js/changetag.php",
data: info,
success: function(){}
});
$("#li_"+I).toggleClass("off on");
element.toggleClass("off on");
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
完美的工作.但是现在我想添加第二个PHP调用,如果上面的成功,它将提取数据并更新页面的另一个区域.
我想补充的是:
$.ajax({
url: "_js/loaddata.php",
success: function(results){
$('#listresults').empty();
$('#listresults').append(results);
}
});
Run Code Online (Sandbox Code Playgroud)
但只是将其添加到成功:function(){}似乎不起作用.为了澄清,这是我正在测试的完整代码:
$(function() {
$.ajaxSetup ({cache: false});
$(".changetag").click(function(){
var element = $(this);
var I = element.attr("id");
var info = 'switch_tag=' + I;
$.ajax({
type: "POST",
url: "_js/changetag.php",
data: info, …Run Code Online (Sandbox Code Playgroud) 使用Bootstrap的typeahead javascript插件,我试图通过jQuery的$ .post方法更改数据源属性.最初,我有:
<input type="text" data-provide="typeahead" data-source="["Option 1","Option 2","Option 3"]">
Run Code Online (Sandbox Code Playgroud)
然后,假设单击了一个按钮,它会尝试更新数据源:
$('button').on('click',function(){
$.post('update.php',function(resp){
$('input').attr('data-source',resp);
});
});
Run Code Online (Sandbox Code Playgroud)
resp XHR结果返回如下数组:
["One Option","Two Option","Three Option"]
Run Code Online (Sandbox Code Playgroud)
我发现这不能使用响应中构造的新数组可靠地更新数据源.
有谁知道是什么问题?
这似乎不会捕获所选值.有没有人知道如何使用带引导程序的typeahead获取所选值?
在javascript中,我不应该为命名空间命名吗?
在Google JavaScript样式指南的命名章节中,它说:
//Do not alias namespaces.
myapp.main = function() {
var namespace = some.long.namespace;
namespace.MyClass.staticHelper(new namespace.MyClass());
};
Run Code Online (Sandbox Code Playgroud)
但我无法完全理解这个问题.为简洁起见,为什么不使用命名空间?