netty 4.xx中的UDP广播

我们需要使用Netty 4.0.0二进制文件在UDP通道上广播一个Object(Pojo)。 在Netty 4.0.0中,它允许我们仅使用DatagramPacket类来发送UDP数据包。 该类仅接受ByteBuf作为参数。 还有其他方法,我们可以通过UDP通道发送Pojo吗? 为进一步澄清,我们做了如下: 初始化UDP通道的设置 ConnectionlessBootstrap udpBootstrap; udpBootstrap.setPipelineFactory(new ChannelPipelineFactory() { public ChannelPipeline getPipeline() throws Exception { return Channels.pipeline( new ObjectEncoder(), new ObjectDecoder(new NettyElementInfo()), new UDPBroadcastHandler()); } }); udpBootstrap.setOption(“broadcast”, true); //datagramChannel = (DatagramChannel) udpBootstrap.bind(new InetSocketAddress(udp_port)); datagramChannel = (DatagramChannel) udpBootstrap.bind(new InetSocketAddress(0)); 这里,NettyElementInfo实现了Serializable和ClassResolver接口。我们试图按如下方式广播这个pojo: channel.write(new NettyElementInfo(), new InetSocketAddress(“255.255.255.255”, 9555)); 在接收端,我们对上面的初始化部分做了同样的事情。但是,在处理程序中获取Pojo如下: NettyElementInfo elementInfo = (NettyElementInfo)e.getMessage(); 这是使用netty 3.5.x成功完成的 […]

为什么运行hadoop时数据节点会关闭?

我在VirtualBox上的ubuntu 11.0.4上安装了hadoop 1.0.4(与我的主机名相同),不知怎的,数据节点关闭,在日志文件中出现以下错误 /************************************************************ STARTUP_MSG: Starting DataNode STARTUP_MSG: host = VirtualBox/127.0.1.1 STARTUP_MSG: args = [] STARTUP_MSG: version = 1.0.4 STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290; compiled by ‘hortonfo’ on Wed Oct 3 05:13:58 UTC 2012 ************************************************************/ 2013-08-18 19:52:21,301 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties 2013-08-18 19:52:21,394 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered. 2013-08-18 19:52:21,412 […]

导致Maven / JBehave错误的原因是什么?

我有一个产生Mule连接器的Maven项目。 它基本上是一个shell,所以我开始使用JBehave添加一些BDD测试。 我添加的第一个测试很少: public class FakeSteps extends Embedder { @Given(“I have something”) public void iHaveSomething() { System.out.println(“Have something…”); } @When(“I do something”) public void iDoSomething() { System.out.println(“Doing something…”); } @Then(“we are ok”) public void weAreOk() { Assert.assertTrue(“FAILURE!!!!!”, true); System.out.println(“We are ok.”); } } 如果我在IntelliJ中运行测试,它就会通过。 当我执行“mvn clean install”时,测试不会抛出错误,但是由于“org.apache.log4j.Priority”中的exception,构建失败: … Have something… Doing something… We are ok. […]

图像减法的结果不正确

我想逐个像素地减去两个图像,以检查它们的相似程度。 图像具有相同的尺寸,一个稍暗,而在亮度旁边它们没有差别。 但是我在结果中得到了那些小点。 我是否减去了这两个图像? 两者都是bmp文件。 import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class Main2 { public static void main(String[] args) throws Exception { int[][][] ch = new int[4][4][4]; BufferedImage image1 = ImageIO.read(new File(“1.bmp”)); BufferedImage image2 = ImageIO.read(new File(“2.bmp”)); BufferedImage image3 = new BufferedImage(image1.getWidth(), image1.getHeight(), image1.getType()); int color; for(int x = 0; x < image1.getWidth(); x++) […]

Play / Akka与Java OutputStreams集成

我在写一个游戏! 暴露REST API的应用程序,允许用户生成PDF报告。 我受到使用旧Java API进行实际报告生成的要求的限制。 该库有一个方法generate(OutputStream out, …) ,即它需要一个java.io.OutputStream来编写生成的报告。 我的问题是将它与Play / Akka集成以提供Chunked Encoding中的内容。 为此,我需要创建一个Enumerator[Array[Byte]] ,它以某种方式包含Java库中的OutputStream 。 我提出了一个使用PipedOutputSteam / PipedInputStream二人组的工作解决方案,使用Enumerator.fromStream将库的输出传递给Enumerator.fromStream 。 我想知道是否有更好的方法来实现这一点,但我似乎无法在Akka或Play中找到一个明确的例子! 将枚举器与OutputStream集成的文档。 我知道Java库的阻塞IO是设计更好的解决方案的限制因素,但也许有一种更简洁的方法来做到这一点。 有什么想法吗? 跟进 假设我使用Enumerator.outputStream ,那么将实际报告生成移动到另一个actor(可能在另一台机器上)的安全方法是什么? 例如,我猜测发送OutputStream是不安全的(并且只能在本地工作)。

无法从java连接到本地monogoDB

环境:mac os x 10.10 MongoDB版本:3.0.5 JDK版本:1.8 MongoDB驱动程序:“mongo-java-driver-3.0.2.jar”和“mongodb-driver-async-3.0.2.jar” 问题: 我想连接mongoDB并异步插入一些简单的数据,所以我使用了“ mongodb-driver-async-3.0.2.jar ”。 但我发现我没有连接数据库。代码如下: public static void main(String[] args) { // connect to the local database server,default:127.0.0.1:27017 MongoClient mongoClient = MongoClients.create(); // get handle to “testDB” database MongoDatabase database = (MongoDatabase) mongoClient.getDatabase(“testDB”); SingleResultCallback callbackWhenFinished = new SingleResultCallback() { @Override public void onResult(final Void result, final Throwable t) […]

Android Dagger 2 Dependency没有被注入

我正在尝试将Dagger 2用于我的应用程序,但我遇到了有关实体存储库的一些问题,而且我还没有弄明白我错过了什么。 这是我的应用程序组件: @Singleton @Component( modules = { AndroidModule.class, RepositoryModule.class } ) public interface ApplicationComponent { void inject(AndroidApplication app); IDependenceyRepository dependencyRepository(); } 我的模块: @Module public class RepositoryModule { @Provides @Singleton IDependenceyRepository provideDependendencyRepository(Context context) { return new DependencyRepository(context); } } @Module public class AndroidModule { private final AndroidApplication app; public AndroidModule(AndroidApplication app) { this.app = app; […]

用Java排序数组

用Java编写静态方法: public static void sortByFour (int[] arr) 它接收一个充满非负数(零或正数)的数组作为参数,并按以下方式对数组进行排序: 在数组的开头,将出现所有可被4整除的数字。 在它们之后,将出现数组中除以4且余数为1的所有数字。 在它们之后,将显示数组中除以4且余数为2的所有数字。 在数组的末尾,将出现所有剩余数字(除以4除以3的数字)。 (每组中数字的顺序无关紧要。) 该方法必须尽可能高效。 以下是我写的,但不幸的是它不能很好地工作…… 🙁 public static void swap( int[] arr, int left, int right ) { int temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; } public static void sortByFour( int[] arr ) { int left = 0; int right = ( […]

如何使用Rally的JAVA API将标签添加到Rally中的TestCase?

我一直在努力为Rally中的测试用例添加标签。 标签已存在于Tags集合中。 但我无法将其添加到测试用例中。 有些人可以举例说明如何做到这一点吗? 非常感谢。

类加载应用程序上下文Spring

我有一个Spring Web项目,我需要在初始化应用程序上下文后加载一些类,因为这些类最终将在未来使用。 因此,我尝试在使用前预加载它们以提高性能。 怎么做 ? 请帮忙。 谢谢。