Search Results

Search found 46894 results on 1876 pages for 'java native interface'.

Page 988/1876 | < Previous Page | 984 985 986 987 988 989 990 991 992 993 994 995  | Next Page >

  • Trying to packetize TCP with non-blocking IO is hard! Am I doing something wrong?

    - by Ricket
    Oh how I wish TCP was packet-based like UDP is! But alas, that's not the case, so I'm trying to implement my own packet layer. Here's the chain of events so far (ignoring writing packets) Oh, and my Packets are very simply structured: two unsigned bytes for length, and then byte[length] data. (I can't imagine if they were any more complex, I'd be up to my ears in if statements!) Server is in an infinite loop, accepting connections and adding them to a list of Connections. PacketGatherer (another thread) uses a Selector to figure out which Connection.SocketChannels are ready for reading. It loops over the results and tells each Connection to read(). Each Connection has a partial IncomingPacket and a list of Packets which have been fully read and are waiting to be processed. On read(): Tell the partial IncomingPacket to read more data. (IncomingPacket.readData below) If it's done reading (IncomingPacket.complete()), make a Packet from it and stick the Packet into the list waiting to be processed and then replace it with a new IncomingPacket. There are a couple problems with this. First, only one packet is being read at a time. If the IncomingPacket needs only one more byte, then only one byte is read this pass. This can of course be fixed with a loop but it starts to get sorta complicated and I wonder if there is a better overall way. Second, the logic in IncomingPacket is a little bit crazy, to be able to read the two bytes for the length and then read the actual data. Here is the code, boiled down for quick & easy reading: int readBytes; // number of total bytes read so far byte length1, length2; // each byte in an unsigned short int (see getLength()) public int getLength() { // will be inaccurate if readBytes < 2 return (int)(length1 << 8 | length2); } public void readData(SocketChannel c) { if (readBytes < 2) { // we don't yet know the length of the actual data ByteBuffer lengthBuffer = ByteBuffer.allocate(2 - readBytes); numBytesRead = c.read(lengthBuffer); if(readBytes == 0) { if(numBytesRead >= 1) length1 = lengthBuffer.get(); if(numBytesRead == 2) length2 = lengthBuffer.get(); } else if(readBytes == 1) { if(numBytesRead == 1) length2 = lengthBuffer.get(); } readBytes += numBytesRead; } if(readBytes >= 2) { // then we know we have the entire length variable // lazily-instantiate data buffers based on getLength() // read into data buffers, increment readBytes // (does not read more than the amount of this packet, so it does not // need to handle overflow into the next packet's data) } } public boolean complete() { return (readBytes > 2 && readBytes == getLength()+2); } Basically I need feedback on my code. Please suggest any improvements. Even overhauling my entire system would be okay, if you have suggestions for how better to implement the whole thing. Book recommendations are welcome too; I love books. I just get the feeling that something isn't quite right.

    Read the article

  • how do you find the exact variable of a null pointer exception

    - by OVERTONE
    I've been at this one for a bit now. I've got a null pointer exception so im guessing somethings not been initialized. AdminMessages.inbox1.setText(messageRsetArray[0]); thats my code where its targetting. but i cant find what inside it hasnt been initiazed. AdminMessages is a class which contains a JTextField called inbox1, messageRsetArray is an array which has taken variables from an array. also inbox1 is static. i coulndt get the getters and setter to work. i know its bad practice though.

    Read the article

  • Mysql maven jpa skeleton

    - by coubeatczech
    Hi, is there a skeleton for a project using mysql, some eclipse/top link with RESOURCE_LOCAL as connection type? Preferably using maven. I'm searching for it for hours and can't get running even the sipmlest exaple. So if you had it ready and running, please, post :-). Even something as simple as these two classes only. @Entity public class Message implements Serializable{ public Message() {} public Message(String s){ this.s = s; } @Id String s; public String getS(){ return s; } } public class App { static private EntityManagerFactory emf; static private EntityManager em; public static void main( String[] args ) { emf = Persistence.createEntityManagerFactory("persistence"); em = emf.createEntityManager(); Message m = new Message("abc"); em.persist(m); } }

    Read the article

  • Help choosing the right data structure

    - by devoured elysium
    I need a data structure with the following requirements: Needs to be able to get elements by index (like a List). I will always just add / remove elements from the end of the structure. I am inclined to use an ArrayList. In this situation, it seems to be O(1) both to read elements (they always are?), remove elements (I only need to remove them at the end of the list) and to add(I only add to the end of the list). There is only the problem that time to time the ArrayList will have a performance penalty when it's completly full and I need to add more elements to it. Is there any other better idea? I don't think of a data structure that'd beat the ArrayList here. Thanks

    Read the article

  • How to explicitly terminate http connection from server with no response header

    - by Gagandip
    I am developing a server simulator for one of my client application. I am using GlassFish server. I have to simulate a http connection terminate condition in my server application. Is there a way by which I can explicitly terminate a connection from server side such that client does not receive any response header. Currently I have tried many options like closing the response outputStream. But in every case a http 200 OK message is delivered to the client application. I would like to consume the http-request and do not want to return anything to the client. I am using a simple conrtroller servlet and had overridden doGet() and doPost() functions.

    Read the article

  • Extract elements from list based on object property type

    - by Dustin Digmann
    Often, I have a list of objects. Each object has properties. I want to extract a subset of the list where a specific property has a predefined value. Example: I have a list of User objects. A User has a homeTown. I want to extract all users from my list with "Springfield" as their homeTown. I normally see this accomplished as follows: List users = getTheUsers(); List returnList = new ArrayList(); for (User user: users) { if ("springfield".equalsIgnoreCase(user.getHomeTown()) returnList.add(user); } I am not particularly satisfied with this solution. Yes, it works, but it seems so slow. There must be a non-linear solution. Suggestions?

    Read the article

  • How to deal with unknown entity references?

    - by Chris
    I'm parsing (a lot of) XML files that contain entity references which i dont know in advance (can't change that fact). For example: xml = "<tag>I'm content with &funny; &entity; &references;.</tag>" when i try to parse this using the following code: final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); final DocumentBuilder db = dbf.newDocumentBuilder(); final InputSource is = new InputSource(new StringReader(xml)); final Document d = db.parse(is); i get the following exception: org.xml.sax.SAXParseException: The entity "funny" was referenced, but not declared. but, what i do want to achieve is, that the parser replaces every entity that is not declared (unknown to the parser) with an empty String ''. Or even better, is there a way to pass a map to the parser like: Map<String,String> entityMapping = ... entityMapping.put("funny","very"); entityMapping.put("entity","important"); entityMapping.put("references","stuff"); so that i could do the following: final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); final DocumentBuilder db = dbf.newDocumentBuilder(); final InputSource is = new InputSource(new StringReader(xml)); db.setEntityResolver(entityMapping); final Document d = db.parse(is); if i would obtain the text from the document using this example code i should receive: I'm content with very important stuff. Any suggestions? Of course, i already would be happy to just replace the unknown entity's with empty strings. Thanks,

    Read the article

  • using JDBC with persistence.xml

    - by moshe shamy
    I am building a framework that manage the access to the database. the framework getting tasks from the user and handle a connection pooling that manage the access to the database. the user just send me SQL commands. One of the feature that i would like to support is working with JPA, in this case i will provide entity manager. in some cases i would like to provide JDBC access as well as JPA access. the arguments for the database are written in XML file. so for JPA i need to write the property in persistence.xml so it will be not so smart to write again the same arguments for JDBC. do you know if i can get the arguments of the database from persistence.xml, do you know if there is a source code that do it. or should i parse persistence.xml by myself?

    Read the article

  • How to avoid the linebreak inside a word (Static Layout

    - by Addev
    I'm trying to make a text as big as I can making it fit a Rect. basically I use a StaticLayout for pre-calculate the text size and make it fit the Rect's height: // Since the width is fixed for the StaticLayout it should only fit the height while (currentHeight>Rect.getHeight()){ size-=2; } textPaint.setTextSize(size); The problem is that if the Rect is very high, the exit condition is reached but breaking the words (see the capture). Is there a way for avoid this? Goal: Actual: Current code: textSize=MAX_TEXT_SIZE do { if (textSize < mMinTextSize) { Log.i(TAG, "Min reached"); textSize = mMinTextSize; textPaint.setTextSize(textSize); fits = true; } else { textPaint.setTextSize(textSize); StaticLayout layout = new StaticLayout(text, textPaint, targetWidth, Alignment.ALIGN_NORMAL, 1.0, 0, true); layout.draw(canvas); float heightRatio= (float) layout.getHeight() / (float) targetHeight; boolean fitsHeight = heightRatio<= 1f; if (fitsHeight) { fits = true; } else { textSize -= 2; } } Log.i(TAG, "textSize=" + textSize + " fits=" + fits); } while (!fits); thanks

    Read the article

  • Best Design Pattern to Implement while Mapping Actions in MVC

    - by FidEliO
    What could be the best practices of writing the following case: We have a controller which based on what paths users take, take different actions. For example: if user chooses the path /path1/hello it will say hello. If a user chooses /path1/bye?name="Philipp" it will invoke sayGoodBye() and etc. I have written a switch statement inside the controller which is simple, however IMO not efficient. What are the best way to implement this, considering that paths are generally String. private void takeAction() { switch (path[1]) { case "hello": //sayHello(); break; case "bye": //sayBye(); break; case "case3": //Blah(); break; ... } }

    Read the article

  • Iterating over hashmap in JSP in struts application

    - by Rozer
    I have a HashMap object that I am getting on a JSP page. HashMap<Integer,Gift_product> gift_hm = new HashMap<Integer,Gift_product>(); gift_hm.put(17,new Gift_product("doll",67)); Now I need to iterate this and display content on JSP. The Gift_product class contains two fields: name and price. JSP output should be serial no. product name price 17 Doll 67 How can I achieve it?

    Read the article

  • Matching Class arrays

    - by frinkz
    I'm writing a routine to invoke methods, found by a name and an array of parameter Class values Matching the Method by getName works, but when trying to match the given Class[] for parameters, and Method.getParameterTypes(), I'm having trouble. I assumed that this would work: Class[] searchParams = new Class[] { float.class, String.class }; Class[] methodParams = m.getParameterTypes(); if(methodParams == searchParams) { m.invoke(this, paramValues); } But apparantly not - m.invoke is never reached. I've checked, and methodParams gives the same classes as searchParams. The code below works, and picks the right method, but it seems like a very dirty way of doing things, I'm sure I'm missing something obvious. Class[] searchParams = new Class[] { float.class, String.class }; Class[] methodParams = m.getParameterTypes(); boolean isMatch = true; for(int i = 0; i < searchParams.length; i++) { if(!searchParams.getClass().equals(methodParams.getClass())) { isMatch = false; } } if(isMatch) { m.invoke(this, paramValues); }

    Read the article

  • Editing a 1MB file continuously, what's more efficient?

    - by kmels
    I've to be continuously editing a 1MB file, simulating a file system. I've to modify the directory of File Control Blocks, FAT, blocks, etc. Proffesor recommended overwriting the file every time an update is made. 1MB shouldn't take minutes to do that, but I don't like this way. Is it a FileChannel the way to go here? Also, I understand that if I edit a MappedByteBuffer, the content of the mapped file region is also edited immediately? i.e. is reflexive mapped? Thanks.

    Read the article

  • Method parameters confusion

    - by elec
    Often time methods take more than 3 parameters which are all of the same type, eg. void mymethod (String param1, String param2, String param3) then it's very easy for the client to mix up the parameters orders, for instance inverting param1 and param2: mymethod (param2, param1, param3); ...which can be the cause of much time spent debugging what should be a trivial matter. Any tips on how to avoid this sort of mistake (apart from unit tests) ?

    Read the article

  • Android: The concept for detecting changes of an opened file

    - by niko
    I wrote an application for video recording which stores the recording to a file. Currently I am looking for a way to implement some kind of "listener" to listen for file changes. The concept I would like to implement is the following: Check the file on a set period of time (for example one second), extract changes (get the data that was written in the last period) and do something with these data. I would be very thankful if anyone of you could give any suggestion or point to any useful resource that could help to solve the given problem.

    Read the article

  • Obtaining memory available to JVM at runtime

    - by Bo Tian
    I'm trying to sort a bunch of data such that that the size of data input to the program can be larger than the memory available to the JVM, and handling that requires external sort which is much slower than Quicksort. Is there any way of obtaining memory available to the JVM at runtime such that I could use in place sorting as much as possible, and only switch to Mergesort when data input is too large?

    Read the article

  • Releasing from development into production in maven

    - by Bruce
    Hi all, I'm confused about the use of maven in development and production environments - I'm sure it's something simple that I'm missing. Grateful for any help.. I set up maven inside eclipse on my local machine and wrote some software. I really like how it's made things like including dependent jars very easy. So that's my development environment. But now I want to release the project to production on a remote server. I've searched the documentation, but I can't figure out how it's supposed to work or what the maven best practice is.. Are you supposed to: a) Also be running maven on your production environment, and upload all your files to your production environment and rebuild your project there? (Something in me baulks at the idea of rebuilding 'released' code on the production server, so I'm fairly sure this isn't right..) b) use mvn:package to create your jar file and then copy that up to production? (But then what of all those nice dependencies? Isn't there a danger that your tested code is now going to be running against different versions of the dependent jars in the production environment, possibly breaking your code? Or missing a jar..?) c) Something else that I'm not figuring out.. Thanks in advance for any help!

    Read the article

  • NOT replacing ? with letter guessed

    - by user3720541
    i need my code to replace the ? with the letter guessed. The ? needs to be replaced with a for only those to spots. The word in array is parameter. public static void replace(String[] wordOne, String blanks, char guess) { int i; blanks = wordOne[0]; for (i = 0; i < wordOne.length; i++) { for (int j = 0; j < wordOne[0].length(); j++) { blanks = blanks.replace(blanks.charAt(j), '?'); if (wordOne[0].charAt(i) == guess) { blanks = blanks.replace(blanks.charAt(i), guess); } } } System.out.println(blanks); } }

    Read the article

  • how to test this portion of code

    - by Gandalf StormCrow
    Hello I'm writting junit test how can I test this method .. this is only part of this method : public MyClass{ public void myMethod(){ List<myObject> list = readData(); } } How will I make the test for this? ReadData is a private method inside MyClass?

    Read the article

  • how to pass user created connection to hibernate

    - by Mrityunjay
    hi, is there any way, to restrict hibernate not to create connection of its own(what we define in hibernate.properties or hibernate.cfg.xml), instead i can create and pass the connection to hibernate for further processing. The problem is that i need to set the ApplicationContext on the connection given that the i am using oracle connection. I know how to create a connection and set the applicationContext on to it.. but the problem is that i don't know how to force hibernate to use the connection that i have created.. Please help..

    Read the article

< Previous Page | 984 985 986 987 988 989 990 991 992 993 994 995  | Next Page >