#is it a mistake to use ExecutorService with JDA?
1 messages · Page 1 of 1 (latest)
While you are waiting for getting help, here are some tips to improve your experience:
If nobody is calling back, that usually means that your question was not well asked and hence nobody feels confident enough answering. Try to use your time to elaborate, provide details, context, more code, examples and maybe some screenshots. With enough info, someone knows the answer for sure.
Don't forget to close your thread using the command </help-thread close:1027500463647621170> when your question has been answered, thanks.
Hi. I have some code here that I was wondering if I should put it all in an ExecutorService or not
Ticket finalCustomerTicket = requestCustomerTicket(event.getChannel().getId());
EmbedBuilder claimedFieldEditOne = EmbedHandler.ticketDisplayEmbedTitleEditorByIndex(finalCustomerTicket.getEmbed(), 2, ":green_square: - " + event.getMember().getEffectiveName() + "#" + event.getMember().getUser().getDiscriminator(), true);
EmbedBuilder claimedFieldEditTwo = EmbedHandler.ticketDisplayEmbedFieldEditorByIndex(claimedFieldEditOne, 2, ":green_square: - Claimed", true);
event.getGuild().getTextChannelById(Resources.getNewTicketsChannelID()).editMessageEmbedsById(finalCustomerTicket.getAllTicketsEmbedMessageID(), claimedFieldEditTwo.build()).queue();
String query = String.format("update tickets SET staffMemberID = '%s', memberToPing = '%s' where textChannelID = '%s';", event.getMember().getId(), finalCustomerTicket.getCustomerID(), event.getChannel().getId());
DBActions.executeDatabaseUpdate(query);
event.getChannel().asTextChannel().sendMessage("<@" + finalCustomerTicket.getCustomerID() + ">").queue(message -> message.delete().queueAfter(1, TimeUnit.SECONDS));
DBTicketActions.setEmbed(event.getChannel().asTextChannel().getId(), claimedFieldEditTwo);```
Detected code, here are some useful tools:
Ticket finalCustomerTicket = requestCustomerTicket(event.getChannel().getId());
EmbedBuilder claimedFieldEditOne = EmbedHandler.ticketDisplayEmbedTitleEditorByIndex(finalCustomerTicket.getEmbed(), 2, ":green_square: - " + event.getMember().getEffectiveName() + "#" + event.getMember().getUser().getDiscriminator(), true);
EmbedBuilder claimedFieldEditTwo = EmbedHandler.ticketDisplayEmbedFieldEditorByIndex(claimedFieldEditOne, 2, ":green_square: - Claimed", true);
event.getGuild().getTextChannelById(Resources.getNewTicketsChannelID()).editMessageEmbedsById(finalCustomerTicket.getAllTicketsEmbedMessageID(), claimedFieldEditTwo.build()).queue();
String query = String.format("update tickets SET staffMemberID = '%s', memberToPing = '%s' where textChannelID = '%s';", event.getMember().getId(), finalCustomerTicket.getCustomerID(), event.getChannel().getId());
DBActions.executeDatabaseUpdate(query);
event.getChannel().asTextChannel().sendMessage("<@" + finalCustomerTicket.getCustomerID() + ">").queue(message -> message.delete().queueAfter(1, TimeUnit.SECONDS));
DBTicketActions.setEmbed(event.getChannel().asTextChannel().getId(), claimedFieldEditTwo);
The first line is a database query, which uses a connection pool. The rest are either updating the database, or upgrading Discord
I was wondering if I should use ExecutorService to ensure that one person running this command wouldn't delay a second person from running this command and a response being provided
Closed the thread due to inactivity.
If your question was not resolved yet, feel free to just post a message to reopen it, or create a new thread. But try to improve the quality of your question to make it easier to help you 👍