Форум программистов, компьютерный форум, киберфорум Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
 Аватар для Jocker
1 / 1 / 3
Регистрация: 22.01.2015
Сообщений: 199
1

Ошибка добавления в postgresql

22.06.2019, 16:09. Показов 6423. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, пытаюсь добавить объект в базу, используя postresql, при попытке добавить в стеке появляются ошибки. Скрин стека и скрин таблицы БД прилагаю.

Контроллер
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package app.servlets;
 
import app.dao.jdbcdao.PlanetJDBCDAO;
import app.entities.Planet;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
import java.util.UUID;
 
public class ControllerServlet extends HttpServlet {
 
    private static String ADD_OR_EDIT = "add_edit.jsp";
    private static String LIST_USER = "list.jsp";
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String forward = "";
        String action = req.getParameter("action");
 
        try (PlanetJDBCDAO dao = new PlanetJDBCDAO()) {
            if (action.equalsIgnoreCase("select")) {
                forward = LIST_USER;
                req.setAttribute("Title", "Планеты");
            } else if (action.equalsIgnoreCase("delete")) {
                UUID userId = UUID.fromString(req.getParameter("planetId"));
                dao.delete(userId);
                forward = LIST_USER;
            } else if (action.equalsIgnoreCase("update")) {
                forward = ADD_OR_EDIT;
                Planet planet = dao.getById(UUID.fromString(req.getParameter("planetId")));
                req.setAttribute("planet", planet);
                req.setAttribute("Title", "Изменить");
            } else if (action.equalsIgnoreCase("insert")) {
                forward = ADD_OR_EDIT;
                req.setAttribute("Title", "Добавить");
            }
 
            req.getRequestDispatcher(forward).forward(req, resp);
        } catch (SQLException e) {
            e.printStackTrace();
        }
 
    }
 
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Planet planet = (Planet) req.getAttribute("planet");
        String planetId = req.getParameter("planetId");
        try (PlanetJDBCDAO dao = new PlanetJDBCDAO()) {
            if (planetId == null || planetId.isEmpty()) {
                dao.create(planet);
            } else {
                dao.update(UUID.fromString(planetId), planet);
            }
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
//        req.getRequestDispatcher("/ControllerServlet?action=select").forward(req, resp);
        resp.sendRedirect("/ControllerServlet?action=select");
 
    }
}
Модель
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package app.entities;
 
 
import java.io.Serializable;
import java.util.UUID;
 
public class Planet implements Serializable {
    private UUID id;
 
    private String name;
    private int satellites;
    private double density;
    private boolean fromSolarSystem;
 
    public Planet(String Name, int Satellites, float Density, boolean FromSolarSystem) {
        id = UUID.randomUUID();
        name = Name;
        satellites = Satellites;
        density = Density;
        fromSolarSystem = FromSolarSystem;
    }
 
    public Planet() {
        id = UUID.randomUUID();
    }
 
    public UUID getId() { return id; }
 
    public void setId(UUID id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getSatellites() {
        return satellites;
    }
 
    public void setSatellites(int satellites) {
        this.satellites = satellites;
    }
 
    public double getDensity() {
        return density;
    }
 
    public void setDensity(double density) {
        this.density = density;
    }
 
    public boolean isFromSolarSystem() {
        return fromSolarSystem;
    }
 
    public void setFromSolarSystem(boolean fromSolarSystem) {
        this.fromSolarSystem = fromSolarSystem;
    }
 
    @Override
    public String toString() {
        return id + " | " + name + " | " + satellites + " | " + density + " | " + fromSolarSystem;
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.06.2019, 16:09
Ответы с готовыми решениями:

Ошибка добавления команды к форме
Текст ошибки на скриншоте во вложении. Поясните пожалуйста, в чем ошибка. Пользовался компилятором Janino (для мобильников) ...

Ошибка ClassNotFoundException: org.postgresql.Driver
Добрый день, дорогие форумчане, разрабатываю небольшое веб-приложение на сервлетах и jsp. Настал момент когда я начал переводить проект на...

Ошибка добавления объекта в бд
Здравствуйте. Работаю с 10 сущностями в бд через jpa. C 9 хорошо, а вот Client, при попытки добавления в базу, кидает исключения. Что с ним...

10
Завсегдатай
 Аватар для Kukstyler
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
22.06.2019, 16:13 2
Цитата Сообщение от Jocker Посмотреть сообщение
появляются ошибки
Ну и где они? Скопируйте их сюда.
0
 Аватар для Jocker
1 / 1 / 3
Регистрация: 22.01.2015
Сообщений: 199
22.06.2019, 16:17  [ТС] 3
скрины во вложении
Миниатюры
Ошибка добавления в postgresql   Ошибка добавления в postgresql  
0
86 / 9 / 1
Регистрация: 21.06.2019
Сообщений: 49
22.06.2019, 16:24 4
Jocker, не видно. Если текстом выложите- будет идеально))
1
 Аватар для Jocker
1 / 1 / 3
Регистрация: 22.01.2015
Сообщений: 199
22.06.2019, 16:28  [ТС] 5
Стек ошибок текстово:


org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of java.util.UUID. Use setObject() with an explicit Types value to specify the type to use.
at app.dao.jdbcdao.PlanetJDBCDAO.create(PlanetJDBCDAO.java:111)
at app.servlets.ControllerServlet.doPost(ControllerServlet.java:55)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt erChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt erChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java :728)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatc her.java:470)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.j ava:395)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.jav a:316)
at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:742)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:712)
at org.apache.jsp.form_005fplanets_jsp._jspService(form_005fplanets_jsp.java:127)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt erChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt erChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:1 99)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:9 6)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.jav a:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve. java:660)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.ja va:808)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:14 98)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:6 1)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of java.util.UUID. Use setObject() with an explicit Types value to specify the type to use.
at org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.jav a:1927)
at org.postgresql.jdbc3g.AbstractJdbc3gStatement.setObject(AbstractJdbc3gStatement. java:36)
at org.postgresql.jdbc4.AbstractJdbc4Statement.setObject(AbstractJdbc4Statement.jav a:47)
at app.dao.jdbcdao.PlanetJDBCDAO.create(PlanetJDBCDAO.java:103)
... 43 more
0
86 / 9 / 1
Регистрация: 21.06.2019
Сообщений: 49
22.06.2019, 16:43 6
Jocker, все ошибки не обязательно изучать, достаточно первую перевести, получится:
орг.postgresql.утиль.PSQLException: не удается определить тип SQL, используемый для экземпляра java.утиль.идентификатор UUID. Использование методов setObject() с явным указанием типов значений для указания типа использовать.
Вот как-то так примерно, дальше остается немного подумать и код поисправлять уже.

Добавлено через 12 минут
Jocker, поймать ошибку с помощью try cath и там уже посмотреть само сообщение и узнать номер строки с ошибкой.
1
 Аватар для Jocker
1 / 1 / 3
Регистрация: 22.01.2015
Сообщений: 199
22.06.2019, 16:44  [ТС] 7
и как её можно исправить? Я пытался использовать в таблице varying char, но как-то тоже не помогло. Инт не будет генерить автозначение...
0
86 / 9 / 1
Регистрация: 21.06.2019
Сообщений: 49
22.06.2019, 16:47 8
Jocker, для этого вам надо узнать номер строки, в которой выбрасывается ошибка. Сюда напишите саму строку- попробуем тогда разобраться.
1
 Аватар для Jocker
1 / 1 / 3
Регистрация: 22.01.2015
Сообщений: 199
22.06.2019, 17:01  [ТС] 9
Нашёл ошибку:
строка 105: ps.setObject(1, planet.getId());

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
package app.dao.jdbcdao;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
 
import app.dao.PlanetDAO;
import app.entities.Planet;
 
public class PlanetJDBCDAO implements PlanetDAO, AutoCloseable {
 
    private Connection conn;
 
    public PlanetJDBCDAO() {
        try {
            String url = "jdbc:postgresql://localhost:5432/lab";
            String user = "postgres";
            String password = "1234";
            conn = DriverManager.getConnection(url, user, password);
        }
        catch(SQLException ex) {
            throw new IllegalArgumentException(ex);
        }
    }
 
    private void setPlanetFields(Planet s, ResultSet rs) throws SQLException {
        s.setId((UUID) rs.getObject("id"));
        s.setName(rs.getString("name"));
        s.setDensity(rs.getFloat("density"));
        s.setSatellites(rs.getInt("satellites"));
        s.setFromSolarSystem(rs.getBoolean("fromSolarSystem"));
    }
 
    @Override
    public List<Planet> getPlanets() {
        String sql = "SELECT * FROM planets;";
        List<Planet> list = new ArrayList<>();
        try (PreparedStatement ps = conn.prepareStatement(sql)) {
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                Planet s = new Planet();
                setPlanetFields(s, rs);
                list.add(s);
            }
        } catch (SQLException ex) {
//            Logger.getLogger(PlanetJDBCDAO.class.getName()).log(Level.SEVERE, null, ex);
            throw new IllegalArgumentException(ex);
        }
        return list;
    }
 
    @Override
    public Planet getById(UUID id) {
        String sql = "SELECT * FROM planets WHERE id = ?;";
        Planet s = new Planet();
        try (PreparedStatement ps = conn.prepareStatement(sql)) {
 
            ps.setObject(1, id);
 
            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                setPlanetFields(s, rs);
            } else {
                throw new IllegalArgumentException("There is no rows with this id " + id);
            }
        } catch (SQLException ex) {
//            Logger.getLogger(PlanetJDBCDAO.class.getName()).log(Level.SEVERE, null, ex);
            throw new IllegalArgumentException(ex);
        }
        return s;
    }
 
    @Override
    public Planet getByName(String name) {
        String sql = "SELECT * FROM planets WHERE name = ?;";
        Planet s = new Planet();
        try (PreparedStatement ps = conn.prepareStatement(sql)) {
 
            ps.setString(1, name);
 
            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                setPlanetFields(s, rs);
            } else {
                throw new IllegalArgumentException("There is no rows with this name " + name);
            }
        } catch (SQLException ex) {
//            Logger.getLogger(PlanetJDBCDAO.class.getName()).log(Level.SEVERE, null, ex);
            throw new IllegalArgumentException(ex);
        }
        return s;
    }
 
    @Override
    public void create(Planet planet) {
        String sql = "INSERT INTO planets (id, name, satellites, density, fromSolarSystem) VALUES(?, ?, ?, ?, ?);";
 
            try(PreparedStatement ps = conn.prepareStatement(sql)) {
                try {
                    ps.setObject(1, planet.getId());
                }
                catch (Exception e) {
                    System.out.println(e.getMessage());
                }
                ps.setString(2, planet.getName());
                ps.setInt(3, planet.getSatellites());
                ps.setDouble(4, planet.getDensity());
                ps.setBoolean(5, planet.isFromSolarSystem());
                    ps.executeUpdate();
 
            } catch (SQLException ex) {
//            Logger.getLogger(PlanetJDBCDAO.class.getName()).log(Level.SEVERE, null, ex);
                throw new IllegalArgumentException(ex);
            }
        }
 
 
 
 
 
    @Override
    public void update(UUID id, Planet newPlanet) {
        String sql = "UPDATE planets SET " +
                "name = ?, " +
                "satellites = ?, " +
                "density = ?, " +
                "fromSolarSystem = ? " +
                "WHERE id = ?;";
        try(PreparedStatement ps = conn.prepareStatement(sql)) {
            ps.setString(1, newPlanet.getName());
            ps.setInt(2, newPlanet.getSatellites());
            ps.setDouble(3, newPlanet.getDensity());
            ps.setBoolean(4, newPlanet.isFromSolarSystem());
            ps.setObject(5, id);
            ps.executeUpdate();
        } catch (SQLException ex) {
            throw  new IllegalArgumentException(ex);
        }
    }
 
    @Override
    public void delete(UUID id) {
        String sql = "DELETE FROM planets WHERE id=?;";
        try(PreparedStatement ps = conn.prepareStatement(sql)) {
            ps.setObject(1, id);
            ps.executeUpdate();
        } catch (SQLException ex) {
//            Logger.getLogger(PlanetJDBCDAO.class.getName()).log(Level.SEVERE, null, ex);
            throw new IllegalArgumentException(ex);
        }
    }
 
    @Override
    public int count() {
        String sql = "SELECT COUNT(*) AS count FROM planets;";
        try(PreparedStatement ps = conn.prepareStatement(sql)) {
            ResultSet rs = ps.executeQuery();
            rs.next();
            return rs.getInt("count");
 
        } catch (SQLException ex) {
//            Logger.getLogger(PlanetJDBCDAO.class.getName()).log(Level.SEVERE, null, ex);
            throw new IllegalArgumentException(ex);
        }
    }
 
    @Override
    public void close() throws SQLException {
        if(conn!=null && !conn.isClosed())
            conn.close();
    }
}
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.06.2019, 17:26 10
UUID на стринг замени

Добавлено через 5 минут
https://stackoverflow.com/ques... ot-working
1
 Аватар для Jocker
1 / 1 / 3
Регистрация: 22.01.2015
Сообщений: 199
22.06.2019, 19:31  [ТС] 11
Цитата Сообщение от xoraxax Посмотреть сообщение
UUID на стринг замени
туплю... при добавлении в базу или везде?

Добавлено через 1 час 59 минут
Цитата Сообщение от xoraxax Посмотреть сообщение
UUID на стринг замени
не уверен, что понял, о чём вы говорили, я в таблице постгреса пробовал ставить character varying в id, ошибка не исчезла.

Добавлено через 2 минуты
Через System.out.printline() пробовал получить каждый элемент, вернее его значение. Все получил. То есть заходит в джаву оно корректно, где-то проблема с загрузкой в базу, как я понимаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2019, 19:31
Помогаю со студенческими работами здесь

PostgreSQL - Ошибка при вставке записи (связь many-to-many)
Параметры подключения к БД следующие: jdbc.driverClassName=org.postgresql.Driver jdbc.url=jdbc:postgresql://localhost:5432/app ...

Ошибка: org.postgresql.util.PSQLException: ResultSet закрыт
Ошибка: org.postgresql.util.PSQLException: ResultSet закрыт. Connection conn = null; try { String...

Ошибка с кодировкой в PostgreSQL
При копировании базы из MS SQL в PostgreSQL через Visual C# возникла ошибка неверная последовательность байт для кодировки utf8 0x00Если я...

Ошибка в остановке postgresql
postgresql работает нормально, но при попытке остановить ее получаю следующее: 1) Через кнопку Stop Server: Start DoCmd(net stop...

Ошибка подключения к БД PostgreSQL
Здравствуйте, есть бд postgresql (test). Файл web.config: &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;!-- For more information on how...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
Real PATH definitions in bash scripts
jigi33 13.03.2025
Как поймать путь и путь к директории относительно запускаемого файла в BASH 1. поймать путь через вывод $(pwd) 2. более правильно - на основе realpath (см. скриншот)
Django или Flask: что выбрать для веб-разработки на Python
py-thonny 13.03.2025
Django – это высокоуровневый фреймворк, который придерживается философии "всё включено". Он предоставляет разработчику готовые решения для большинства типичных задач веб-разработки: от аутентификации. . .
Непрерывное развертывание в Java с Kubernetes
Javaican 13.03.2025
Чем так привлекателен Kubernetes для развертывания Java-приложений? Этот оркестратор контейнеров позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными. . .
Предотвращение XSS, CSRF и SQL-инъекций в JavaScript
run.dev 13.03.2025
JavaScript занимает первые позиции среди языков веб-разработки, но его распространенность делает его привлекательной целью для злоумышленников. Межсайтовый скриптинг (XSS), межсайтовая подделка. . .
PHP 8: JIT-компиляция и улучшение производительно­сти
Jason-Webb 13.03.2025
PHP никогда не славился своей скоростью. Многие сталкивались с проблемами производительности при работе со сложными вычислениями или обработкой больших объемов данных. Традиционная модель выполнения. . .
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru