传递参数在日常编程中很常见,但是我们应该将参数作为对象或值传递吗?
(一个)
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) 我在处理服务层上完成的"业务验证"时遇到了一个问题.下面的代码显示了一个典型的账户资金转账示例,该示例验证了足够的资金,转账金额小于定义的限额.
在此示例中,调用者必须处理并捕获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) 我正在通过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) 我有一个关于在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.我们如何处理任何意外的运行时错误并适当地记录它们
我作为初学者开始了Spring Rest项目.我的大多数实体都有超过15-20个属性,并且UI层上不需要所有属性.
我正在考虑使用DTO,原因如下:
我正在考虑使用DTO将多个实体合并在一起,根据角色隐藏/显示特定UI的某些信息,但是当我需要保留详细信息时,我必须将DTO信息"拆分/复制"回不同的实体.
员工 - 能够查看下一级经理的绩效评估和评论.经理 - 能够输入绩效评估的评论,并指出员工的薪资增量(这不会显示在员工的用户界面中),但无法查看员工当前的薪酬.HR - 能够查看所有UI的所有详细信息.
我想知道是否有更好的方法来处理这些问题,还是我正在为我的项目寻找正确的方向?
参考:http://www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application
我的每个流文件都包含 2000 条记录。我想将 01/01/2000 解析为列年 = 2000,列月 = Jan 和列日 = 01
即输入列 01/01/2000 分成 3 个以逗号分隔的值 01,Jan,2000
我有一个大约500-700mb的war文件,在生产环境中部署需要非常长(1-1.5小时).
大多数jar文件都是第三方库,除非有升级,否则很少会更改.
我正在考虑将第三方库移动到服务器的类路径以减小war文件的大小并缩短部署时间.
这是一个好方法吗?
我使用Websphere和maven作为构建工具.如果我能够将这些第三方库从我的webapp移动到我的服务器类路径,我将能够将依赖范围从编译更改为提供.
服务器仅用于我的系统,我不怕任何类路径冲突.
我正在学习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) 我已经在机器上设置了一个kafka集群,并使用kafka-console-producer.bat和kafka-console-producer.bat进行了测试
我启动了zookeeper,kafka服务器,并使用kakfa-console-producer生成了一些测试消息,然后是kakfa-console-consumer,未打印任何消息。
但是,如果我启动Zookeeper,kakfa服务器,kakfa控制台消费者,最后启动kakfa控制台生产者并生成测试消息,则这些消息会打印在kakfa控制台消费者上。
为什么卡夫卡离线时无法提取消息?我只使用1个经纪人。
我正在学习编写线程安全的程序以及如何评估非线程安全的代码.
如果一个类在由多个线程执行时正常运行,则该类被认为是线程安全的.
我的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 ×5
apache-kafka ×2
apache-nifi ×1
apache-spark ×1
c ×1
coupling ×1
exception ×1
maven ×1
oop ×1
rest ×1
spring ×1
struts ×1
websphere ×1