RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-216588

Roberto's questions

Martin Hope
Roberto
Asked: 2020-10-05 15:50:36 +0000 UTC

尝试删除行时出错 - ORA-04091:正在修改表,触发器/函数可能不会注意到这一点

  • 2

有两个表:

CREATE TABLE USER_INFO(
  ID VARCHAR2(36) PRIMARY KEY,
  NAME VARCHAR(50) NOT NULL);

CREATE TABLE USER_HISTORY(
  ID VARCHAR(36) PRIMARY KEY,
  NAME VARCHAR2(50));

INSERT INTO USER_INFO(ID, NAME) VALUES('111', 'VLAD');
INSERT INTO USER_INFO(ID, NAME) VALUES('222', 'ANNA');
INSERT INTO USER_INFO(ID, NAME) VALUES('333', 'VIKA');

如果您删除表中的一条记录USER_INFO,那么触发器应该触发并且记录应该被插入USER_HISTORY。

为此,编写了以下触发器:

SET SERVEROUTPUT ON;
CREATE OR REPLACE TRIGGER REMOME_TRIGGER AFTER DELETE ON USER_INFO FOR EACH ROW
DECLARE
  user_name VARCHAR2(50);
BEGIN 
     SELECT NAME INTO user_name FROM USER_INFO WHERE ID=:old.ID;
     DBMS_OUTPUT.PUT_LINE('user_name:');
END;
/

我希望从表中删除某些行时,USER_INFO此触发器将起作用,但是使用这样的查询:

DELETE FROM USER_INFO WHERE ID='222';

我收到一个错误:

DELETE FROM USER_INFO WHERE ID='222'
Error report -
ORA-04091: таблица USER_INFO изменяется, триггер/функция может не заметить это
ORA-06512: на  "REMOME_TRIGGER", line 4
ORA-04088: ошибка во время выполнения триггера 'REMOME_TRIGGER'
sql
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-12-11 13:07:35 +0000 UTC

如何加快从文件读取到数据量较大的数据库?

  • 2

我正在尝试解决以下技术问题。我有几个 csv 文件,每个文件包含 400 万到 1100 万行。我需要阅读它们,形成对象,处理并写入数据库)

现在我制作了 mvp,以便逐个文件读取整个文件,形成一个 ArrayList 并将所有内容依次写入数据库

这种方法的问题:

  1. 极长
  2. OutOfMemoryException 有跌倒的风险

我如何决定:

  1. 接下来继续阅读。仅在前一个工作完成后归档
  2. 将 ArrayList 拆分为 10k 块(如何做得更好?)
  3. 创建一定数量的线程(Worker 模型)并在它们被释放时为它们提供这些 10k 元素以写入数据库。因此,每个线程都有自己的从 ThreadPool 到数据库的连接。

问题:解决方案中是否有明显的侧柱?如何将 ArrayList 拆分为块?对于这样的任务,默认创建多少个线程是安全的,5-10?

工作中我使用spring4、java8、oracle11g、was8.5.5.13

java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-12-05 00:14:02 +0000 UTC

帮我理解为什么 javac -cp 不编译类?

  • 1

我在路径 C:\learn\db\base\mine 上有 java - 类 Main2

类本身看起来像这样

package base.mine;

public class Main2{
      public static void main(String[] args){
        List<Animal> a = new ArrayList<>();
        a.add(new Animal("kingoroo", true, false, true));
        a.add(new Animal("snake", false, true, false));
        a.add(new Animal("fox", true, false, true));

        print(a, new HopeChecker());
        print();
        print(a, new HairsChecker());
        print();
        print(a, new SwimChecker());
    }

    private static void print(){
        System.out.println();
    }

    private static void print(List<Animal> a, Checker checker){
        for (Animal item: a){
            if (checker.test(a)){
               System.out.println(item.getName());
            }
        }
    }
}
/* kingoroo fox */
/* kingoroo fox */
/* snake */

如果我尝试使用命令行从项目根目录构建项目,则会出现错误

也就是说,从目录

C:\学习\数据库>

我这样跑

C:\learn\db>javac -cp "C:\learn\db\base\mine" Main2.java

我看到了这个错误

C:\learn\db>javac -cp "C:\learn\db\base\mine" Main2.java
javac: file not found: Main2.java
Usage: javac <options> <source files>
use -help for a list of possible options

为什么不编译?

java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-11-11 04:54:23 +0000 UTC

尝试在spring-quartz Job中使用时标记为@Autowired的字段中的null?

  • 1

在一个 spring 应用程序中,我使用了一堆 spring-batch 和 spring-quartz

我有一个运行 spring-batch 任务的服务。服务名称 MyService,方法 helloMethod();

@Service
@EnableBatchProcessing
@EnableScheduling
public class MyService {
    @Autowired
    JobLauncher jobLauncher;
    @Autowired
    Job processExportJob;

    public void helloMethod() throws JobParametersInvalidException, JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException {
        JobParameters jobParameters = new JobParametersBuilder().addLong("time", System.currentTimeMillis())
                .toJobParameters();
        jobLauncher.run(processExportJob, jobParameters);
    }
}

该服务使用运行预定作业的 spring-quartz 启动。MyJob 在仅使用控制台输出时工作正常。接下来,使用 @Autowired 注释,我将我的服务注入到一个作业中,它只运行一次。在所有后续时间中,在服务字段中 - null 此外,如果您创建的服务不使用 spring'a,

MyService service  = new MyService();

那么已经在服务内部所有字段都将为空,我该如何克服呢?

@DisallowConcurrentExecution
@PersistJobDataAfterExecution
public class MyJob implements Job {
    @Autowired
    private MyService service;
    private static final String MESSAGE = "===================================QUARTZ TACT===================================";
    private Logger logger = Logger.getLogger(getClass());

    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.log(Level.INFO, MESSAGE);
        try {
            service.helloMethod();
        } catch (Exception e) {
            e.printStackTrace();
            logger.log(Level.ERROR, " Failed..");
            logger.log(Level.ERROR, Arrays.toString(e.getStackTrace()));
        } 
    }
}
java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-11-08 00:57:33 +0000 UTC

使用多个节点时应为 spring-quartz 指定什么数据源?

  • 0

使用 oracle 11g 数据库部署在 webshpere 8.5.5.13 上的 Spring 应用程序使用 spring-quartz 按计划运行

Web 服务器是一个有两个节点的集群。如果您只是创建一个触发器+作业+调度程序 - 一切都很好,但是这些作业被安排在所有节点上一次运行。

所以我设置了

org.quartz.jobStore.isClustered = true

但是应该为数据源参数指定什么?

在spring项目中,数据源是这样连接的(在@Configuration类Persistence.java中定义):

@Bean
@Resource(type = DataSource.class, lookup = "jdbc/DATA", name = "jdbc/DATA")
public DataSource dataSource() {
    final JndiDataSourceLookup dsLookup = new JndiDataSourceLookup();
    dsLookup.setResourceRef(true);
    DataSource dataSource = dsLookup.getDataSource("java:comp/env/jdbc/DATA");
    return dataSource;
}

还有一个映射文件

ibm-web-bnd.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-bnd
        xmlns="http://websphere.ibm.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-bnd_1_0.xsd"
        version="1.0">

    <virtual-host name="default_host" />

    <resource-ref name="jdbc/DATA" binding-name="jdbc/DATA"/>
</web-bnd>

在 web sphere 本身上,配置了 DATA 数据源

我试图在属性文件中指定石英的选项

org.quartz.jobStore.dataSource=java:comp/env/jdbc/DATA
org.quartz.jobStore.dataSource = jdbc/DATA
org.quartz.jobStore.dataSource = DATA
org.quartz.jobStore.dataSource = dataSource

但是它们都在应用程序运行时导致找不到数据源的错误。

我需要为 spring-quarz 创建一个单独的数据源还是我做错了什么?

开始计划任务的类:

包石英;

@Configuration
@Import(PersistenceConfig.class)
@PropertySource(value = {"classpath:application.properties","classpath:quartz.properties"})
public class QuartzConfig {
    @Bean
    public JobDetail cronJob() {
        return JobBuilder.newJob(QuartzJob.class).withIdentity("helloJob").build();
    }

    @Bean
    public Trigger cronTrigger() {
        return TriggerBuilder
                .newTrigger()
                .withIdentity("helloTrigger")
                .withSchedule(SimpleScheduleBuilder.simpleSchedule().repeatForever().withIntervalInSeconds(50))
                .build();
    }

    @Bean
    public Scheduler cronScheduler(JobDetail cronJob, Trigger cronTrigger) throws SchedulerException {
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        scheduler.scheduleJob(cronJob, cronTrigger);
        scheduler.start();
        return scheduler;
    }
}

任务本身

public class QuartzJob implements Job{
    private Logger logger = Logger.getLogger(getClass());

    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.log(Level.INFO, "========HELLO========%n");
    }
}

使用此链接在数据源中发现错误。但是,当触发器触发时,quartz 尝试将其状态写入数据库,但在表中找不到它。我正在寻找这张表的外观,以便他可以写入它以及如何调用它。

org.quartz.impl.jdbcjobstore.LockException:获取数据库行锁失败:ORA-00942:表或视图不存在[参见嵌套异常:java.sql.SQLSyntaxErrorException:ORA-00942:表或视图不存在

java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-11-01 00:23:06 +0000 UTC

@Scheduled spring 注解在带有负载均衡器的多节点环境中表现如何?

  • 1

spring+java+websphere上的应用

有一个方法用@Scheduled 注解标记并且每天安排一次(执行与数据库的工作)

该应用程序部署在 WebSphere 上的多个节点上。它们由平衡器控制。我了解所有节点都使用一个数据库,是否会因为此任务已在多个节点上启动而出现问题?

java
  • 2 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-04-12 17:15:52 +0000 UTC

是否可以在 POST 方法中传递 url 参数?

  • 0

有一套rest服务,spring实现了GET\POST方法

开发过程中,出现了POST方法中是否可以传url参数的争论

例如

POST http://localhost:8081/MyApp/product?dealNumber=111x
Body:  <Product>
          <name>drugs</name>
          <cost>100$</cost>
       </Product>

商业意义是产品被保留在交易中。有时,这些是几个产品,即 xml 元素列表,它们有一个共同的部分 - dealNumber。

这种 HTTP POST 方法的使用是否正确,理想情况下,如果有明确说明这一点的文章的链接

java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-04-01 19:20:17 +0000 UTC

Jaxb 没有在文本字段中解析 & 符号?

  • 0

具有 Web、业务和持久层的 Spring 应用程序。

控制器接受请求中的 xml 作为输入,使用 jaxb 解析它们并将它们传递给业务层。

控制器如下所示:

        @RequestMapping(value = "/user", method = RequestMethod.POST,
                consumes = {"application/xml"}, produces = {"application/xml"})
        public String add(@RequestBody User user, (value = "id", required = false) String id) {
            String result = service.add(users, id);
            return result;
        }

jaxb 实体:

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@XmlRootElement(name = "User")
@XmlAccessorType(XmlAccessType.FIELD)
public class User implements Serializable {
    @XmlElement(name = "Id")
    @Size(max = 25)
    private String id;

    @XmlElement(name = "idAuthor")
    @Size(max = 50)
    private String idAuthor;

    @XmlElementWrapper(name="Comments")
    @XmlElement(name = "comment")
    private String comment;
}

但是,当不仅将文本发送到评论字段,而且还包含一个 & 符号时,我会收到一个验证错误。

java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-04-01 04:37:59 +0000 UTC

赋值和自增操作,解释一下哪里错了?

  • 2

有一个小代码片段可以理解java

int i = 0;
i = i++;
System.out.println(i);

我期望看到的:

  1. -i 设置为 0
  2. i 的值(即零)并分配给 i
  3. 现在为 0。通过递增增加 i 的值 - 得到 1

我希望我会在控制台中收到 1,但我得到零。为什么?

java
  • 3 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-01-30 21:57:25 +0000 UTC

使用jpa时,表中已存在此类唯一键或主键错误?

  • 1

基于sprign+jpa和oracle11g base的应用 根据提议的JPA实体设置表生成选项

properties.put("hibernate.hbm2ddl.auto", "create");

实体代码,在创建出现问题的表时:

import lombok.*;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.envers.Audited;

import javax.persistence.*;

@Entity
@Table(name = "UserRecord")
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@AllArgsConstructor
@Getter
@Setter
@Access(AccessType.FIELD)
public class UserRecord {
    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy = "uuid2")
    @Column(name = "PR_KEY", unique = true)
    private String prKey;

    //Business Key
    @Column(name = "name", length = 100, unique = false)
    private String name;

    //surname Key
    @Column(name = "surname", length = 100, nullable = false)
    private String surname;

    //type Key
    @Column(name = "type", length = 100, nullable = false)
    private String type;

    //idPayment Key
    @Column(name = "idPayment", length = 64, nullable = false)
    private String idPayment;

    @Column(name = "User", length = 100000)
    @Lob
    private byte[] User;

    public UserRecord(String name, String surname, String type, byte[] User) {
        this.name = name;
        this.surname = surname;
        this.type = type;
        this.User = User;
    }

    public UserRecord(String name, String surname, String type,
                            String idPayment, byte[] User) {
        this.name = name;
        this.surname = surname;
        this.type = type;
        this.User = User;
        this.idPayment = idPayment;
    }
}

我在这里prKey- 这是数据库中的关键。
name, surname, typeand idPayment- 业务键,它们的组合在表中必须是唯一的,但在数据库计划中它应该只是字段。

当我尝试生成此表时,出现错误

 .SchemaExport perform ORA-02261: such unique or primary key already exists in the table jpa

同时,日志中的请求尝试如下执行:

 Hibernate: create table UserRecord (PR_KEY varchar2(255) not null unique, name varchar2(100), idPayment varchar2(64) not null, riskMetric blob, type varchar2(100) not null, surname varchar2(100) not null, version number(10,0) not null, primary key (PR_KEY), unique (name, surname, type, idPayment))
java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-01-16 20:30:31 +0000 UTC

如何使正则表达式中的小数秒为可选?

  • 0

如何在模板中使小数秒和时区成为可选?

"yyyy-MM-dd'T'HH:mm:ss.SSS Z"

我用在

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz");

我正在为班级做的这一切

public class DateAdapter extends XmlAdapter<String, Date> {
    private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");

    @Override
    public String marshal(Date v) throws Exception {
        synchronized (dateFormat) {
            return dateFormat.format(v);
        }
    }

    @Override
    public Date unmarshal(String v) throws Exception {
        synchronized (dateFormat) {
            return dateFormat.parse(v);
        }
    }
}
java
  • 2 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-01-14 03:40:00 +0000 UTC

JPA @OrderBy 注释不排序记录

  • 1

我有一对实体,大师和学徒,一个大师可以有多个学徒。

我需要从主数据库读取时,padawans 字段应按年龄字段排序:

@Entity
@NoArgsConstructor
@Getter
@Setter
public class Master {
    @Id
    @GenericGenerator(name = "uuid", strategy = "uuid2")
    @GeneratedValue(generator = "uuid")
    private String id;
    private String name;
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @OrderBy("age")
    private List<Padawan> padawans = new ArrayList<>();

    public Master(String name) {
        this.name = name;
    }
}


@Entity
@NoArgsConstructor
@Getter
@Setter
public class Padawan {
    @GeneratedValue
    @Id
    private int id;
    private String name;
    public int age;

    public Padawan(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Padawan{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

以及我从中启动的课程本身:

 public static void main(String[] args) {
        EntityManagerFactory factory = Persistence.createEntityManagerFactory("myUnit");
        EntityManager entityManager = factory.createEntityManager();
        Master master = new Master("Kwigon Jeen");
        Padawan padawan1 = new Padawan("Obi One", 15);
        Padawan padawan2 = new Padawan("Lee", 19);
        Padawan padawan3 = new Padawan("Ganz", 13);
        Collections.addAll(master.getPadawans(), padawan1, padawan2, padawan3);

        entityManager.getTransaction().begin();
        entityManager.persist(master);
        entityManager.getTransaction().commit();

        factory.getCache().evictAll();

        Master res;
        entityManager.getTransaction().begin();
        res = entityManager.find(Master.class, master.getId());
        entityManager.getTransaction().commit();

        res.getPadawans().stream().forEach(padawan -> System.out.println(padawan));

        entityManager.close();
        factory.close();
    }

但问题是,padawans 的列表是未排序的。

Padawan{id=1, name='Obi One', age=15} Padawan{id=2, name='Lee', age=19} Padawan{id=3, name='Ganz', age=13}

ps

1)我试图完全删除龙目岛

2)尝试将输出循环从流更改为foreach:

  for (Padawan p : res.getPadawans()){
        System.out.println(p);
    }

3) 将输出循环更改为 foreachOrdered

res.getPadawans().stream().forEachOrdered(padawan -> System.out.println(padawan));
java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-11-23 23:12:51 +0000 UTC

如何包装来自休息控制器的服务调用以捕获异常?

  • 3

春季有休息服务:

@RestController
public class UserController {
    @Autowired
    private UserService service;

    @RequestMapping(value = "/users", method = RequestMethod.POST)
    public Users add(@RequestBody Users users,
                              @RequestParam(value = "id", required = false) String id) {
        return service.add(id, users.getUsers());
    }

    @RequestMapping(value = "/users/{id}", method = RequestMethod.GET)
    public @ResponseBody Users findById(@PathVariable(value = "id") String id) throws Exception {
        return service.find(id);
    }
}

使用 xml 和 jaxb 与客户端进行交换。用户实体如下所示:

@XmlRootElement(name = "Users")
@NoArgsConstructor
@AllArgsConstructor
@XmlAccessorType(XmlAccessType.FIELD)
@Getter
@Setter
public class Users {
    @XmlElement(name = "users")
    private List<User> Users;

    @XmlElement(name="UserError")
    private UserError error;

    public void appendUsers(Users Users){
        if (Users == null) return;

        if (Users.getError() != null){
            this.error = Users.getError();
        }

        if ( Users.getUsers() != null) {
            if (this.Users == null){
                this.Users = new ArrayList<>();
            }
            this.Users.addAll(Users.getUsers());
        }
    }
}

也就是说,实际上,这是两个字段,其中一个存储用户列表,另一个 - 如果发生错误则错误。

在service.add执行过程中,可能会出现错误,例如数据库不可用,该方法会返回异常。额头的解决方法是把所有的服务调用都包装在一个try catch中,如果出现异常,在Users.error中记录这个错误。

有没有更优雅的解决方案?

java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-11-23 17:31:33 +0000 UTC

如果请求标头中没有 Content-type,如何抛出错误?

  • 0

spring + jaxb 上有这种类型的休息服务:

@RestController
public class UserController {
    @Autowired
    private UserService service;

    @RequestMapping(value = "/users", method = RequestMethod.POST)
    public Users add(@RequestBody Users users,
                              @RequestParam(value = "id", required = false) String id) {
        return service.add(id, users.getUsers());
    }

    @RequestMapping(value = "/users/{id}", method = RequestMethod.GET)
    public @ResponseBody Users findById(@PathVariable(value = "id") String id) throws Exception {
        return service.find(id);
    }
}

jaxb 库用于获取 xml 格式的正文。现在一切正常,我们在请求正文中传递有关用户的信息并获取它,但是需要服务扩展,以便它可以与 xml 和 json 一起使用。

如果缺少 Content-Type:application/xml 标头,则需要引发错误。对于 POST 方法,一切正常,GET 总是返回一个结果,而不管要传递哪个标头。

我怎样才能让它抛出错误或能够控制我们期望接收的内容,xml 或 json?

json
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-11-20 19:36:17 +0000 UTC

如何用replaceAll替换重复的元素组?

  • 3

关于方法replaceAll的问题String。

假设有一个包含重复元素的 xml 字符串表示形式的字符串:

<Users>
 <User>
  <Name>Alex</Name>
  <Company>Gazprom</Company>
 </User>
 <User>
  <Name>Irina</Name>
  <Company>Lukoil</Company>
 </User>
</Users

我需要用“Rosneft”替换公司中的两个用户。如果我将以下正则表达式应用于字符串:

line.replaceAll("<Company>.*</Company>", "<Company>Rosneft</Company>");

结果会是这样:

<Users>
 <User>
  <Name>Alex</Name>
  <Company>Rosneft</Company>
 </User>
</Users

该字符串被占用到“Company”的第一次出现,剪切到用户“Irina”中的最后一个结束标记并替换为新公司。如何避免?

java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-11-19 22:10:00 +0000 UTC

为什么需要@ResponseBody?

  • 2

当你可以不用 @ResponseBody 时,为什么要在其余控制器中使用它?例如

@RequestMapping(value = "/user/status", method = RequestMethod.POST)
public @ResponseBody String update(){
    return "hello";
}

返回相同的结果:

@RequestMapping(value = "/user/status", method = RequestMethod.POST)
public String update(){
    return "hello";
}
java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-10-29 07:20:55 +0000 UTC

js中的可选参数?

  • 2

我需要在js中编写一个函数。这个函数必须有可选参数,我这样做

const myFunc = (a, b) => {...}

我想实现以下逻辑:一个函数是通用的,如果参数传递给它,我使用它们,如果它们没有传递,那么我在运行时计算它们。

但是,如果我尝试调用一个函数而不向它传递任何东西,myFunc(),我会看到一个错误消息,即没有足够的参数。如果我改为

const myFunc = ({a, b}) => {...}

然后我看到一个参数丢失的错误,如何解决?

ps 语言类比java,如何重载一个方法?

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-10-24 18:24:01 +0000 UTC

如何为日期类型数据编写 jaxb 适配器?

  • 1

Spring+jaxb 上的应用。

本质上,有一个 Date 类型的字段

    @XmlElement(name = "TimeCalc")
    @XmlJavaTypeAdapter(DateAdapter.class)
    Date TimeCalc;

为 Date 数据类型编写 jaxb 适配器的正确方法是什么?

我有一个草稿版本,但不是一个工作版本:

public class DateAdapter extends XmlAdapter<String, Date> {
    private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss:SSS");

    @Override
    public String marshal(Date v) throws Exception {
        synchronized (dateFormat) {
            return dateFormat.format(v);
        }
    }

    @Override
    public Date unmarshal(String v) throws Exception {
        synchronized (dateFormat) {
            return dateFormat.parse(v);
        }
    }
}

进入我试图解析和添加的变量

<TimeCalc>20181016T082849.000 GMT</TimeCalc>
spring
  • 2 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-10-22 18:35:19 +0000 UTC

找不到 jaxb 实体列表转换器?

  • 1

在 rest-api 中我使用 xml 与外界进行交换。
对于 xml,我使用 jaxb 库和转换器:

converters.add(new StringHttpMessageConverter());
converters.add(new MarshallingHttpMessageConverter());
converters.add(new Jaxb2RootElementHttpMessageConverter());
converters.add(new SourceHttpMessageConverter());

但是其余的一个不仅应该返回一个实体,而且应该返回一个我创建的实体列表,例如List<User>,但我得到一个错误:

未找到类型返回值的转换器:类 java.util.ArrayList

尝试添加转换器时:

converters.add(new MappingJackson2HttpMessageConverter());
converters.add(new MappingJackson2XmlHttpMessageConverter());

需要对 faster.xml 的依赖,这与 jaxb 冲突并且应用程序停止启动。该怎么办?

java
  • 1 个回答
  • 10 Views
Martin Hope
Roberto
Asked: 2020-10-15 18:54:09 +0000 UTC

如何在 Jenkins 构建步骤中指定远程服务器根目录?

  • 1

任务是使用 Jenkins 构建一个 war 文件并将其复制到远程服务器。

编译和复制 - 有效,但不是将 war 文件转到远程服务器上的正确目录 /opt/apache-tomcat-8.5.30/webapps,而是转到主目录。(home/%user%/opt ...)

如何解决这个问题?

我不是唯一使用 Jenkins 的人,所以我认为在 Jenkins 服务器本身上设置全局变量的选项是不可接受的。

我的詹金斯设置: 在此处输入图像描述

java
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5