小编ilo*_*arn的帖子

编程技巧:将对象或值作为方法参数传递

传递参数在日常编程中很常见,但是我们应该将参数作为对象或值传递吗?

(一个)

public boolean isGreaterThanZero(Payment object) {
    if (object.getAmount() > 0) {
       return true;
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

(B)

public boolean isGreaterThanZero(int amount) {
    if (amount > 0) {
       return true;
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

java oop parameter-passing

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

struts动作类和业务服务层

我在处理服务层上完成的"业务验证"时遇到了一个问题.下面的代码显示了一个典型的账户资金转账示例,该示例验证了足够的资金,转账金额小于定义的限额.

在此示例中,调用者必须处理并捕获Action类中定义的异常,并使用相应的ActionError来显示错误消息.

所有业务验证都使用例外是"必须的"吗?

如果我决定不为此使用异常,我将必须在某种意义上在业务层(违反耦合/内聚)规则中定义相应的ActionError.

如何处理由服务层传播回Action类的消息?

public void transfer(String fromAccount, String toAccount, double amount) throws InsufficientFundsException, TransferLimitException, FactoryException { 
    try { 
        Account from = getAccountHome().findByPrimaryKey( 
new AccountKey(fromAccount)); 
        Account to = getAccountHome().findByPrimaryKey( 
new AccountKey(toAccount)); 
        if (from.getBalance() < amount) 
            throw new InsufficientFundsException(); // Add action errors

        if (from.getTransferLimit() > amount) 
            throw new TransferLimitException();  // Add action errors
        to.deposit(amount); 
        from.withdraw(amount); 
    } catch (Exception e) { 
        throw new FactoryException( 
"cannot perform transfer. Nested exception is " + e); 
    } 
}
Run Code Online (Sandbox Code Playgroud)

struts coupling

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

Spark无法下载kafka库

我正在通过Kafka使用Python 3.5和Spark 2.2流,并且由于缺少kafka库,脚本无法运行。

我感到困惑的是,即使依赖项信息来自Spark的网站本身,为什么也缺少/找不到该库。

groupId = org.apache.spark
artifactId = spark-streaming-kafka-0-10_2.11
version = 2.2.0
Run Code Online (Sandbox Code Playgroud)

我运行了“ spark-submit script.py”,错误提示需要kafka库。

Spark Streaming's Kafka libraries not found in class path. Try one of the following.

  1. Include the Kafka library and its dependencies with in the
     spark-submit command as

     $ bin/spark-submit --packages org.apache.spark:spark-streaming-kafka-0-8:2.2.0 ...

  2. Download the JAR of the artifact from Maven Central http://search.maven.org/,
     Group Id = org.apache.spark, Artifact Id = spark-streaming-kafka-0-8-assembly, Version = 2.2.0.
     Then, include the jar in the spark-submit command as …
Run Code Online (Sandbox Code Playgroud)

apache-kafka apache-spark

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

Java异常处理 - 捕获超类异常

我有一个关于在Web应用程序中处理异常的问题.我经常听到抓住超级类异常是一个坏主意.

我经常编写代码来捕获struts action/java servlet类中的所有异常.

try {
     // call business facade
     // business facade calls DAO
     // any exception from DAO bubbles up 
} catch (Exception e) {
  log.error("error", e);
}
Run Code Online (Sandbox Code Playgroud)

如果我们不捕获超类Exception.我们如何处理任何意外的运行时错误并适当地记录它们

java exception-handling exception

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

我应该考虑将DTO用于Spring Rest Controller层而不是实体吗?

我作为初学者开始了Spring Rest项目.我的大多数实体都有超过15-20个属性,并且UI层上不需要所有属性.

我正在考虑使用DTO,原因如下:

  1. 为了保护信息隐私,最大限度地减少要发送的不必要信息.
  2. 减少json字符串的大小以提高性能.
  3. 使用相同实体的不同UI可以具有不同的业务验证(即,强制/可选字段).我可以为同一个实体创建2个DTO并相应地注释验证.

我正在考虑使用DTO将多个实体合并在一起,根据角色隐藏/显示特定UI的某些信息,但是当我需要保留详细信息时,我必须将DTO信息"拆分/复制"回不同的实体.

员工 - 能够查看下一级经理的绩效评估和评论.经理 - 能够输入绩效评估的评论,并指出员工的薪资增量(这不会显示在员工的用户界面中),但无法查看员工当前的薪酬.HR - 能够查看所有UI的所有详细信息.

我想知道是否有更好的方法来处理这些问题,还是我正在为我的项目寻找正确的方向?

参考:http://www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application

java rest spring

3
推荐指数
2
解决办法
1472
查看次数

如何解析日期字段并在 NiFi 中以字符串格式生成日期

我的每个流文件都包含 2000 条记录。我想将 01/01/2000 解析为列年 = 2000,列月 = Jan 和列日 = 01

即输入列 01/01/2000 分成 3 个以逗号分隔的值 01,Jan,2000

apache-nifi

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

减少要部署到websphere的war文件的大小

我有一个大约500-700mb的war文件,在生产环境中部署需要非常长(1-1.5小时).

大多数jar文件都是第三方库,除非有升级,否则很少会更改.

我正在考虑将第三方库移动到服务器的类路径以减小war文件的大小并缩短部署时间.

这是一个好方法吗?

我使用Websphere和maven作为构建工具.如果我能够将这些第三方库从我的webapp移动到我的服务器类路径,我将能够将依赖范围从编译更改为提供.

服务器仅用于我的系统,我不怕任何类路径冲突.

java websphere maven websphere-traditional

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

Ubuntu将命令行arugments传递给C程序

我正在学习C编程,我编写了示例代码来接受来自终端的参数并打印出参数.

我调用这样的程序:./myprogram 1

我期望1打印出参数长度而不是2.为什么会这样?参数"1"后没有间距

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {

    printf("%d", argc);

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

c

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

Kafka不会检索脱机时发送的消息

我已经在机器上设置了一个kafka集群,并使用kafka-console-producer.bat和kafka-console-producer.bat进行了测试

我启动了zookeeper,kafka服务器,并使用kakfa-console-producer生成了一些测试消息,然后是kakfa-console-consumer,未打印任何消息。

但是,如果我启动Zookeeper,kakfa服务器,kakfa控制台消费者,最后启动kakfa控制台生产者并生成测试消息,则这些消息会打印在kakfa控制台消费者上。

为什么卡夫卡离线时无法提取消息?我只使用1个经纪人。

apache-kafka

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

Java线程安全计数器

我正在学习编写线程安全的程序以及如何评估非线程安全的代码.

如果一个类在由多个线程执行时正常运行,则该类被认为是线程安全的.

我的Counter.java不是一个线程安全的,但输出是按照预期从0到9打印的所有3个线程.

谁能解释为什么?以及线程安全如何工作?

public class Counter {

    private int count = 0;

    public void increment() {
        count++;
    }

    public void decrement() {
        count--;
    }

    public void print() {
        System.out.println(count);
    }

}

public class CountThread extends Thread {
    private Counter counter = new Counter();

    public CountThread(String name) {
        super(name);
    }

    public void run() {
        for (int i=0; i<10; i++) {
            System.out.print("Thread " + getName() + " ");
            counter.print();
            counter.increment();
        }
    }

}

public class CounterMain {

    public static void main(String[] …
Run Code Online (Sandbox Code Playgroud)

java multithreading thread-safety

0
推荐指数
2
解决办法
7136
查看次数