小编Nag*_*gyI的帖子

私有字段javadoc自动传播到getter/setter?

我用Javadoc记录了我的bean私有字段,解释了每个字段的用途.我可以以某种方式将这些文档传播给反复使用的getter/setter以减少文档的重复吗?至少是否有某种Javadoc宏?

java documentation javadoc

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

使用Firefox将JavaScript控制台记录到日志文件中

我们有一个在kiosk模式Firefox中运行的Web应用程序,使用RKiosk扩展来实现这一点.我们怀疑系统中存在非常罕见的错误,导致JavaScript错误.但是因为我们无法访问JavaScript控制台,所以我们无法检查日志.

我正在寻找一个选项,让Firefox将所有JavaScript控制台消息记录到文件中,而不管打开的选项卡和页面如何.我似乎无法找到任何扩展.我已经在使用log4javascript将错误发送回服务器,但似乎我们的应用程序崩溃的方式是它完全跳过了日志记录.

javascript firefox logging

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

如何使用Ceylon编写Web应用程序?

锡兰打到1.0最近引起了我的注意.最有趣的特性是它可以为JVM和Javascript引擎(node.js,浏览器)编译,因此它可以在服务器后端和浏览器中运行的Web应用程序之间进行代码共享.

我已经开始查找文档以获取有关如何使用Ceylon创建WAR可部署应用程序的详细信息,其中我有一些REST端点为浏览器端提供服务.我并不期待Spring WebMVC支持,尽管这将是我的最终目标.令我惊讶的是,我没有在这个主题中找到任何有用的东西.当我尝试以我描述的方式定位像Jetty或Tomcat这样的Servlet引擎时,是否有任何建议如何使用Ceylon?

现在我正在Java应用程序中执行以下操作:

  • 创建一个Maven webapp项目
  • 将JQuery Javascript客户端代码和其他静态内容放到src/main/webapp中
  • 将一些Spring MVC控制器写入服务器JSON资源

类似的事情也很好,客户端代码也是从Ceylon代码转换而来的.正如我所看到的,Ceylon使用它自己的项目布局和构建系统,尽管我会更乐意使用Maven或Gradle来避免过多地避开现有项目.

browser rest servlets web-applications ceylon

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

弹簧罐自动装载

我的项目使用基于插件jar中定义的多个应用程序上下文的简单插件机制.但是为了实现这一点,我必须在类路径中包含所有插件jar.如果Spring可以自动加载jar并且包含它自己的组件会很好,例如它们放在我项目的'plugins'子目录中.

这有什么解决方案吗?


我走得更远,试图用Jar Class Loader来解决这个问题.

因为我手动实例化Spring应用程序上下文,所以我可以执行以下操作:

GenericApplicationContext ctx = new GenericApplicationContext();

// Load context definitions from plugin jars
JarClassLoader jcl = new JarClassLoader();
jcl.add("plugins/");

XmlBeanDefinitionReader classPathBeansReader = new XmlBeanDefinitionReader(ctx);
classPathBeansReader.setBeanClassLoader(jcl);
classPathBeansReader.setResourceLoader(new PathMatchingResourcePatternResolver(jcl));
classPathBeansReader.loadBeanDefinitions("classpath*:META-INF/my-plugins-*.xml");
Run Code Online (Sandbox Code Playgroud)

但这不起作用.从Spring的日志中我可以看到它没有读取插件jar中的XML定义.如果我用底部块替换

XmlBeanDefinitionReader classPathBeansReader = new XmlBeanDefinitionReader(ctx);
classPathBeansReader.setBeanClassLoader(jcl);
classPathBeansReader.loadBeanDefinitions(new ClassPathResource("META-INF/my-plugins-somemodule.xml",jcl));
Run Code Online (Sandbox Code Playgroud)

它从jar中查找并加载XML定义文件和bean.然而,这种方式我硬连接一个插件的XML资源名称,我不想.如何使模式匹配与JCL一起使用?

java plugins spring classloader

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

Java Web Start始终在Windows XP上缓存JNLP文件

在我的公司,我们使用Java Web Start将客户端软件分发给客户.他们使用不同的Windows版本:XP,Vista和7.

我们在过去通过JWS部署了一个版本最少的版本.我们的最新版本包括几个文件更改,一些罐子不见了,其他的出现了,等等.

我们发现Windows XP计算机上的升级失败,因为JWS仍然试图查找在Web服务器上不再可用的jar文件.我已经检查了我的HTTP服务器日志,并且在应用程序启动期间永远不会从XP机器上访问JNLP文件.如果我在Vista或Windows 7上尝试相同的一切正常,JWS将获取JNLP描述符并在更新可用时下载差异.因此,在XP机器上,只有已知的jar文件才会更新,如果JWS没有从缓存的JNLP文件集中找到某些内容,则会抛出错误.

我编写了一个手动生成JNLP文件的servlet.我在我的servlet代码中使用以下头配置.

response.setDateHeader("Last-Modified", lastModification);
// IE won't download JNLP file if Cache-Control header presents
//response.setHeader("Cache-Control", "no-cache, must-revalidate");
response.setHeader("Expires", "Mon, 26 Jul 1990 05:00:00 GMT");
Run Code Online (Sandbox Code Playgroud)

这使得JNLP文件总是过时的,这应该在每次客户端通过JWS启动时触发重新检查文件.我甚至可以在XP上的缓存查看器中看到这个日期:

缓存查看器

我在Oracle的bugreport网站上发现了一个永远无法解决的问题:错误ID:6189106刚刚在Windows XP上对Java7进行了相同的测试,但这个问题仍然存在.但仅在XP上,因为部署缓存的路径中有空白字符("Documents and Settings").有人说,如果我将部署缓存的路径更改为没有空格字符的东西,它将解决问题.嗯,这不是一个真正的解决方案,因为用户几乎不能写到他们的个人资料以外的位置.

因为这个bug存在了这么长时间,我想应该有某种解决方法.我不想每次都告诉客户清除Java缓存并从Web重新安装应用程序.我们希望将来更快的发布周期,这将使其更加恶化.我希望有人对此有个好主意.:|

java distribution java-web-start

8
推荐指数
2
解决办法
6850
查看次数

获取Java堆栈跟踪中涉及的对象

我可以使用当前的堆栈跟踪来检索,Thread.currentThread().getStackTrace()但是这只给出了调用中涉及的类.是否可以检索调用跟踪中涉及的对象实例?也许某种类型的库允许我从堆中检索对象?

我有一个问题,需要我追溯到一个Spring bean,间接创建了我正在请求堆栈跟踪的对象.

更新 如果在Java中没有内置工具,我正在搜索可以在运行时为我执行此操作的可嵌入库.

java callstack stack-trace

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

跨 Spring Web 应用程序的分布式事务

想象一个 Java 生态系统,其中三个独立的 Spring Web 应用程序在不同的 JVM 和不同的机器上运行(不涉及应用程序服务器,只是简单的 servlet 容器)。其中两个应用程序使用自己的数据库,通过 JPA 访问。现在第三个应用程序(协调器)向外界提供服务,一些服务功能执行远程操作,需要其他两个应用程序以事务的方式参与,这意味着如果其中一个应用程序无法在数据库,另一个也应该回滚。问题是:如何使用 Spring 实现这一点?

目前我们正在使用 REST 在应用程序之间进行通信。显然,这不能支持交易,即使有努力做到这一点

我发现 JTA 能够组织全局事务。JTA 涉及创建参与全局管理事务的 XAResource 实例。如果我理解正确,这些 XAResource 实例可以驻留在单独的 JVM 上。资源的初始化、提交和回滚通过 JMS 通信发生,这意味着它需要消息代理在参与者之间传输消息。存在各种 JTA 实现,我发现 Atomikos 似乎是最常用的。

现在我没有看到的是,如果我在每个应用程序端都有一个 Spring 应用程序,这一切是如何发生的。我还没有找到任何通过网络进行 JTA 的示例项目。我也不明白 XAResources 代表什么。如果我使用 JPA,并说我在存储用户余额的应用程序中有一个 Account 对象,并且我必须减少协调器的余额,我是否应该创建一个允许减少余额的 XAResource 实现?或者 XAResource 是由较低级别的东西实现的,比如 JDBC 驱动程序或 Spring Data JPA?在后一种情况下,我如何为事务协调器提供高级别的 CRUD 操作。

database spring transactions jta distributed-transactions

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

在移动中向GStreamer管道添加音频源或从中删除音频源

我写了一个Python脚本,它使用Adder插件将两个源流混合在一起.

启动程序后,您会听到audiotestsrc插件生成的1kHz音调.按Enter键时,会连接另一个500Hz的测试音,Adder以便您一起听到它们.(顺便说一句,我真的不知道为什么我应该再次设置管道来播放状态以听取混音.有没有什么方法可以插入新的来源而不必重新启动管道?)

再次按Enter键时,应从混音中移除1kHz音调,500Hz音调应继续播放,但我不再听到任何声音.我pulse pulsesink.c:528:gst_pulsering_stream_underflow_cb:<pulseaudio_output> Got underflow在调试输出中得到了最后一行.我真的不知道下一步该尝试什么.

这是完整的源代码:

#!/usr/bin/python
# On-the-go source removal doesn't work this way with GStreamer. Why?

import gobject;
gobject.threads_init()
import gst;

if __name__ == "__main__":
    pipe = gst.Pipeline("mypipe")

    adder = gst.element_factory_make("adder","audiomixer")
    pipe.add(adder)

    buzzer = gst.element_factory_make("audiotestsrc","buzzer")
    buzzer.set_property("freq",1000)
    pipe.add(buzzer)

    pulse = gst.element_factory_make("pulsesink", "pulseaudio_output")
    pipe.add(pulse)

    buzzer.link(adder)
    adder.link(pulse)
    pipe.set_state(gst.STATE_PLAYING)

    raw_input("1kHz test sound. Press <ENTER> to continue.")

    buzzer2=gst.element_factory_make("audiotestsrc","buzzer2")
    buzzer2.set_property("freq",500)

    pipe.add(buzzer2)
    buzzer2.link(adder)
    pipe.set_state(gst.STATE_PLAYING)

    raw_input("1kHz + 500Hz test sound playing simoultenously. Press <ENTER> to continue.")

    buzzer.unlink(adder) …
Run Code Online (Sandbox Code Playgroud)

python audio mixing gstreamer

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

简单的音频滤波器组

我是音频滤镜的新手所以请原谅我,如果我说错了.

我喜欢编写一个代码,可以将存储在PCM样本中的音频分成两个或三个频段,并进行一些操作(如修改音频电平)或对它们进行分析,然后从输出中重建音频样本.

就我在互联网上阅读此任务而言,我可以使用FFT-IFFT并对复杂形式进行操作或使用基于时域的滤波器组,例如MP2音频编码格式使用的滤波器组.也许过滤器库是一个更好的选择,至少我读到某个地方它可以在实时流媒体环境中更多的CPU使用友好.然而,我很难理解滤波器组背后的数学东西.我试图找到关于这个主题的一些源代码(最好是Java或C/C++),到目前为止还没有成功.

有人可以向我提供提示或链接,可以让我更接近示例过滤器库吗?

audio signal-processing

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

将PostgreSQL ltree类型与Java ORM层一起使用

我喜欢ltree在我的一个项目中使用PostgreSQL contrib,我喜欢在数据库之上使用某种ORM层(Hibernate,EclipseLink).我没有找到任何有关使用此类型与持久性有用的东西.我想我必须使用新类型和相应的运算符扩展当前的PostgreSQL方言.但是,我真的不知道从哪里开始,以及正确的方法是什么.ltree非常像一个字符串,所以我猜我应该从字符串表示开始.

有人可以给我建议和/或链接到做类似事情的例子吗?我还没找到完整的教程.

java postgresql persistence

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