问题列表 - 第44297页

使用Java杀死正在运行的VM(JBoss Instance)上的线程?

一个在第三方库的bug导致在我的JBoss的实例的工作线程无限循环.你知道如何在不重新启动服务器的情况下杀死这个"卡住"的线程吗?我们希望能够从此恢复直到部署修复程序,最好不必重新启动.

我见过一些人提到使用Thread.interrupt() - 如果我要编写自己的MBean代码,为了打断它,我怎样才能获得有问题的线程的句柄?

更新:无法使用任何这些方法解决.我确实遇到了另一个关于同一问题的线程,该问题有一个链接到为什么不推荐使用Thread.stop().其他人也提出了类似的问题并得到了类似的结果.似乎更复杂的容器应该提供这种健康机制,但我猜他们的手与JVM绑在一起.

java jboss monitoring recovery

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

使用ruby在命令提示符中写入以前的输出行

我运行输出一行的命令行程序,然后稍后更新该行.但是对于ruby,我似乎只能输出一行,然后是另一行.

我现在输出的是什么:

Downloading file:
11MB 294K/s
12MB 307K/s
14MB 294K/s
15MB 301K/s
16MB 300K/s
Done!
Run Code Online (Sandbox Code Playgroud)

相反,我想看到这个:

Downloading file:
11MB 294K/s
Run Code Online (Sandbox Code Playgroud)

过了一会儿:

Downloading file:
16MB 300K/s
Done!
Run Code Online (Sandbox Code Playgroud)

我的ruby脚本输出的行显示下载的文件大小和传输速度,每次都会被覆盖,而不是将更新的值列为整个新行.

我目前正在使用puts生成输出,显然不是为这种情况设计的.是否有不同的输出方法可以实现这一结果?

ruby command-line

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

观察在KnockoutJS中观察到的数组的属性

我正在研究ASP.Net MVC应用程序.我的操作是返回一个视图,其中的模型是一个对象数组(一个具有Name,ID,IsViewable等属性的类).

var model = @Model.ToJson(); // done via extension call
Run Code Online (Sandbox Code Playgroud)

我想观察这个数组,所以每当它改变时我都可以更新一个绑定到模板的表.

var viewModel = {
    accounts = ko.observableArray(model)
}
Run Code Online (Sandbox Code Playgroud)

这适用于添加和删除数组中的元素.但是,我还希望模板在其中一个帐户中的属性更改时更新(即名称或ID).

在KnockoutJS网站上,它说:当然,如果你愿意,你可以观察这些属性,但这是一个独立的选择.这是我无法弄清楚该怎么做的.

我试过这样的事情但没有用:

var viewModel = {
    accounts = ko.oservableArray([])
}

for(var i = 0; i < model.length; i++) {
    ko.observableArray(model[i]);
    viewModel.accounts.push(model[i]);
}
Run Code Online (Sandbox Code Playgroud)

如果需要,我可以发布模板和表格.

model-view-controller templates observable knockout.js

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

在具有MVC 3的远程主机上使用SQL Server CE 4

我刚刚将我的主机升级到MVC 3,但我正在尝试使用SQLCE 4.0做一个"hello world",但我得到了:

很抱歉,在执行您的要求时发生了一个错误.

我看到我的布局和一切,但我看到的不是数据.

在localhost上按预期工作

我有:

<add name="PruebaContext" connectionString="Data Source=|DataDirectory|db.sdf" providerName="System.Data.SqlServerCE.4.0"/>
Run Code Online (Sandbox Code Playgroud)

作为connectionString.

我把sdf作为项目的一部分,我将System.Data.SqlServerCE.dll添加到项目中,并将本地副本设置为true.

我没有更多的想法.connString,dll在/ bin中,在localhost中工作.

有任何想法吗?

谢谢.

编辑

我现在有一些日志:

没有/ bin上的"System.Data.SqlServerCE.dll":

无法找到请求的.Net Framework数据提供程序.它可能没有安装.

System.ArgumentException:无法找到请求的.Net Framework数据提供程序.它可能没有安装.

很好.他们没有SqlServerCE4.

使用本地副本上的Dll,AKA/bin:

无法加载与版本8482的ADO.NET提供程序对应的SQL Server Compact的本机组件.安装正确版本的SQL Server Compact.有关更多详细信息,请参阅知识库文章974247.

异常详细信息:System.Data.SqlServerCe.SqlCeException:无法加载与版本8482的ADO.NET提供程序对应的SQL Server Compact的本机组件.安装正确版本的SQL Server Compact.有关更多详细信息,请参阅知识库文章974247.

KB说我需要x86和amd64的dll.我在某处读到了如果我将两个目录复制到/ bin,例如:/ bin/x86和/ bin/amd64.我从SqlServerCE 4安装文件夹的私人文件夹中复制了这些文件夹.现在我得到了:

在ADO.NET提供程序和SQL Server Compact的本机二进制文件之间检测到可能的文件版本不匹配,这可能导致功能不正确.这可能是由于存在多个不同版本的SQL Server Compact实例,或者是由于与SQL Server Compact二进制文件具有相同名称的错误二进制文件.请安装匹配版本的SQL Server Compact二进制文件.

好.在SQLServerCE4的根文件夹上我也有一些dll,所以我删除了这两个文件夹并将该dll复制到/ bin:

无法加载文件或程序集'file:/// C:\ HostingSpaces\jesusrod\foxandxss.net\wwwroot\mvc3\bin\sqlceca40.dll'或其依赖项之一.该模块应该包含一个程序集清单.

我想我尝试过所有的事情.Scottgu说SqlServerCE 4应该可以在没有安装的任何服务器上运行.

sql-server-ce sql-server-ce-4 asp.net-mvc-3

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

.htaccess将子文件夹重定向到HTTPS

我正在尝试为我的.htaccess文件写一个RewriteRule.具体来说,每当用户访问特定的子目录时,我希望它重写以强制进行HTTPS连接.

例如,每当有人访问:( http://www.mydomain.com/subdirectory以及该"子目录"的任何其他子目录).

我希望它重写为 https://www.mydomain.com/subdirectory

我尝试过以下内容,但它似乎创建了一个循环:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.mydomain.com/subdirectory/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

此外,此.htaccess文件位于我的域的根目录中.

有关如何修改我的RewriteRule的任何想法?

非常感谢!

.htaccess mod-rewrite https url-rewriting

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

Java/VNC中的单点登录

背景

在我工作的项目上,我们在几个不同的服务器上运行GUI应用程序.由于他们的用户界面相似,我正在研究将他们的OMI组合成一个统一的界面.目前,这些应用程序都可以通过VNC远程查看.我计划通过让主显示器在封面下运行几个VNC查看器并围绕这些VNC会话包装接口以使它们看起来像本机应用程序来利用这一点.

问题

我正在寻找构建单点登录解决方案的指针.我希望消除每个应用程序的个人登录,而只是让用户登录统一显示.当他们这样做时,他们将自动登录到每个单独的应用程序.

约束

  1. 这些应用程序都是在Linux上运行的基于Swing的Java应用程序.
  2. 身份验证由具有Active Directory的Windows 2003 Server计算机执行.
  3. 我非常喜欢现成的解决方案,而不是定制的解决方案.

思路

我的调查指向了KerberosGSSAPI.Kerberos的基于票证的机制似乎非常适合这项任务.

一个棘手的问题是这些应用程序始终在运行.当用户登录时,我需要统一显示以某种方式"告诉"它们.它不像普通的Kerberized程序,它们将在启动时执行Kerberos登录.

如果我使用Kerberos,我不知道如何将票证转移到各种应用程序服务器.有转移它们的标准方法吗?我只是使用"scp"或其他东西吗?或者我是否开发自己的基于套接字的网络协议并让Java程序相互连接并以这种方式传输票证?

不过,我不想让细节陷入困境.我甚至欣赏一般的想法,比如"你考虑过X技术?" 或者"尝试XYZ而不是VNC,它会为你做到这一点."


更新

我会在这里编辑答案和说明......

您是否认为必须进行某些身份验证并且VNC仅将视图导出到正在运行的程序,因此VNC会话无法传输票证?

确实是的.Java + VNC就是我们现在所拥有的.如果有更好的远程查看应用程序的方法,我可以更换VNC.没有重写它们,就是这样.理想的解决方案是将它们分成不同的客户端和服务器部分,并将所有GUI代码放入客户端,但这是5星级的难度,我需要1星或2星.

您是否考虑过两个用户同时登录时的情况?他们会看到相同的应用程序吗?或者这会被禁止吗?

是的,我考虑过了.他们要么看到相同的应用程序,要么将被禁止.就这个特定的系统而言,这两种解决方案都没问题,所以这不是什么大问题.

您是否考虑过在本地主机上使用X Server并导出客户端应用程序窗口?

是的,这会很棒.这可以通过已经运行的应用程序完成吗?我们必须在这些应用程序启动后连接这些应用程序.当有人解雇中央观众时,我无法按需启动它们.

java vnc kerberos gssapi single-sign-on

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

如何回滚前两次提交?

考虑这种情况:

  1. 开发人员A做了提交:#n
  2. 开发.B确实提交了#n + 1
  3. 开发.A确实提交了#n + 2
  4. 并提交#n + 3

然后发现他在#n + 2的提交中引入了一个缺陷.

如何开发.回滚他的最后2次提交并继续开发提交#n + 1

试过git reset --hard HEAD~2*,但它回到了开发者A的提交#n.

git github reset

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

比较:界面方法与虚拟方法与抽象方法

每种方法的优点和缺点是什么?

  • 界面方法
  • 虚拟方法
  • 抽象方法

什么时候应该选择什么?做出这个决定时应该记住哪些要点?

c# virtual interface abstract

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

编辑器模板和部分视图之间有什么区别?

我只是在寻找这两者是如何不同的,它们的优点和缺点是什么?

您似乎可以使用模板进行部分视图.

asp.net-mvc templates partial-views

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

应用(服务)自我升级?

我正在用C#开发一个基于.NET4的应用程序,它作为一个Windows服务运行.

我希望这个应用程序能够通过定期连接的Web服务进行升级.有没有可以接受的方法来实现这一目标?它甚至可能吗?

我正在考虑它的方式是这样的:

  1. Windows服务(.exe)代码将其替换和支持DLL作为zip下载并将其提取到临时目录.该zip还包括一个小的"升级程序"可执行文件或脚本.
  2. 该服务分叉子进程以运行升级程序,在命令行上传递目标目录和任何其他所需信息
  3. 该服务关闭
  4. 升级程序进程等待服务完全停止,然后将必要的文件(新的.exe,DLL)移动到最终安装目录中,替换旧文件
  5. 升级程序重新启动Windows服务,该服务生成(已升级的).exe并在启动后退出

这会有用吗?您可以从我的术语和方法中检测到我来自UNIX背景而不是Windows背景.我已经在UNIX上使用了这种方法,但我不知道可能存在哪种类型的窗口...

更新:我对这个问题的主要动机是围绕自我更新的.NET应用程序的技术可行性(如何进行.DLL的就地替换等).正如评论中所指出的,实现这样的功能还涉及许多其他考虑因素,特别是关于验证所应用的新软件组件的安全问题实际上是合法的.这些也很重要,但不是特定于.NET或Windows(imo).当然欢迎对这些领域的评论,但目前他们不是我主要关注的问题......

.net c# .net-4.0

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